Recherche binaire est une technique de recherche utilisée pour allouer la position exacte d'un élément requis dans un tableau trié. Il divise le tableau en deux parties à plusieurs reprises à partir de l'intervalle jusqu'à ce qu'il trouve l'élément exact dans un tableau.
Recherche binaire est parfois appelé
diviser et conquérir algorithme car il divise le tableau en plusieurs pièces et effectue la recherche jusqu'à ce que l'élément soit trouvé. Binaire
recherche est une méthode de recherche rapide et simple pour trouver l'élément à une position spécifique dans un temps rapide.
Dans cet article, nous vous montrerons comment mettre en œuvre recherche binaire Dans le langage de programmation C.
Comment implémenter la recherche binaire en c
Les développeurs utilisent recherche binaire pour simplifier le processus de recherche car il est tout à fait avantageux de vous fournir les résultats en très peu de temps. La complexité du temps du binaire recherche L'algorithme est O (Log), qui peut être efficace dans un programme où l'ensemble de données donné est trop grand pour être fouillé linéairement.
L'algorithme de Recherche binaire en C ouvrit de la manière suivante:
- Tout d'abord, vous définissez l'élément pivot que vous souhaitez rechercher.
- Si la valeur de pivot = valeur centrale, la recherche est terminée autrement continue.
- Comparez l'élément de pivot avec l'élément central du tableau.
- Si la valeur de pivot est < than the center element, it will search the element from left side of array to center element.
- Si la valeur de pivot est> que la valeur de l'élément central, il recherchera du côté droit du tableau.
- Répétez les deux dernières étapes jusqu'à ce que vous obteniez le pivot.
Voici la mise en œuvre de Recherche binaire Programme en langue C:
#inclure
int main ()
int i, à gauche, à droite, au milieu, num, pivot, newarr [50];
printf ("Veuillez saisir le nombre total d'éléments:");
scanf ("% d", & num);
printf ("Entrée% d élément entier:", num);
pour (i = 0; i < num; i++)
scanf ("% d", & newarr [i]);
printf ("Veuillez saisir la valeur que vous pouvez trouver:");
scanf ("% d", & pivot);
gauche = 0;
droite = num - 1;
Middle = (gauche + droite) / 2;
tandis que (à gauche <= right)
if (newarr [middle] < pivot)
gauche = milieu + 1;
else if (newarr [middle] == pivot)
printf ("% D trouvé à l'emplacement% D.num ", pivot, milieu + 1);
casser;
autre
Droite = milieu - 1;
Middle = (gauche + droite) / 2;
si (gauche> à droite)
printf ("L'élément n'est pas trouvé! % d Il n'est pas présent dans la liste.num ", pivot);
retour 0;
Dans le code ci-dessus, nous initialisons d'abord les variables, puis prenons le nombre total d'éléments de l'utilisateur par nobs variable et prenez des valeurs dans le tableau de l'utilisateur jusqu'à je. Ensuite, à partir de la variable PIVOT, nous décidons de la valeur à correspondre et à faire correspondre le début de l'index de gauche 0 pour mettre fin à l'index. Nous divisons ensuite le tableau comme Middle = (gauche + droite) / 2. Après cela, nous utilisons la boucle while pour trouver le pivot à travers la condition si else qui trouve l'élément et générer une sortie avec le numéro d'index de l'élément si elle est trouvée sinon il lancera un élément non trouvé d'erreur.
Voici la sortie du code.
Conclusion
Recherche binaire est un algorithme puissant pour réduire une sélection d'articles dans un tableau. Il divise la section de la liste en moitiés qui pourraient vraiment contenir l'objet en deux et répéter à nouveau le processus jusqu'à ce qu'il n'y ait qu'une position ou un résultat réalisable à gauche. Dans les lignes directrices susmentionnées, nous avons vu ce recherche binaire est; Et comment nous pouvons utiliser recherche binaire En code de langue C. En bref, la recherche binaire est une technique de recherche très utile en langue C.