Maison > développement back-end > Tutoriel C#.Net > Comment écrire un algorithme de recherche binaire en utilisant C#

Comment écrire un algorithme de recherche binaire en utilisant C#

WBOY
Libérer: 2023-09-19 12:42:37
original
1283 Les gens l'ont consulté

Comment écrire un algorithme de recherche binaire en utilisant C#

Comment écrire un algorithme de recherche binaire en utilisant C#

L'algorithme de recherche binaire est un algorithme de recherche efficace qui trouve la position d'un élément spécifique dans un tableau ordonné, avec une complexité temporelle de O(logN). En C#, nous pouvons écrire l'algorithme de recherche binaire en suivant les étapes suivantes.

Étape 1 : Préparer les données

Tout d'abord, nous devons préparer un tableau trié comme données cibles pour la recherche. Supposons que nous voulions trouver la position d'un élément spécifique dans un tableau.

int[] data = {1, 3, 5, 7, 9, 11, 13, 15};
Copier après la connexion

Étape 2 : Écrivez une fonction de recherche binaire

Ensuite, nous pouvons écrire une fonction pour implémenter l'algorithme de recherche binaire. Les paramètres de la fonction incluent la valeur de l'élément à trouver et le tableau à trouver. La valeur de retour de la fonction est la valeur d'index de l'élément trouvé dans le tableau, ou -1 s'il n'est pas trouvé.

int BinarySearch(int target, int[] data)
{
    int left = 0;
    int right = data.Length - 1;

    while (left <= right)
    {
        int mid = left + (right - left) / 2;

        if (data[mid] == target)
        {
            return mid;
        }
        else if (data[mid] < target)
        {
            left = mid + 1;
        }
        else
        {
            right = mid - 1;
        }
    }
    
    return -1;
}
Copier après la connexion

Étape 3 : Appelez la fonction de recherche binaire

Maintenant, nous pouvons appeler la fonction de recherche binaire écrite ci-dessus dans le programme principal pour trouver des éléments spécifiques. Nous pouvons d'abord définir une valeur d'élément à rechercher, puis appeler la fonction de recherche binaire et imprimer le résultat.

int target = 13;
int result = BinarySearch(target, data);

if (result == -1)
{
    Console.WriteLine("在数组中未找到该元素!");
}
else
{
    Console.WriteLine("该元素在数组中的索引为:" + result);
}
Copier après la connexion

L'exemple de code complet est le suivant :

using System;

public class BinarySearchExample
{
    static void Main(string[] args)
    {
        int[] data = {1, 3, 5, 7, 9, 11, 13, 15};
        int target = 13;

        int result = BinarySearch(target, data);

        if (result == -1)
        {
            Console.WriteLine("在数组中未找到该元素!");
        }
        else
        {
            Console.WriteLine("该元素在数组中的索引为:" + result);
        }
    }

    static int BinarySearch(int target, int[] data)
    {
        int left = 0;
        int right = data.Length - 1;

        while (left <= right)
        {
            int mid = left + (right - left) / 2;

            if (data[mid] == target)
            {
                return mid;
            }
            else if (data[mid] < target)
            {
                left = mid + 1;
            }
            else
            {
                right = mid - 1;
            }
        }

        return -1;
    }
}
Copier après la connexion

Grâce à l'exemple de code ci-dessus, nous pouvons apprendre à écrire un algorithme de recherche binaire en utilisant C#. Dans le développement réel, nous pouvons ajuster et optimiser l'algorithme en fonction de besoins spécifiques pour obtenir une fonction de recherche plus efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal