Come implementare la ricerca binaria in c

Come implementare la ricerca binaria in c
Ricerca binaria è una tecnica di ricerca utilizzata per allocare la posizione esatta di un elemento richiesto in un array ordinato. Divide l'array in due parti ripetutamente dall'intervallo fino a quando non trova l'elemento esatto in un array. Ricerca binaria a volte viene definito come dividere e conquistare algoritmo perché divide l'array in più pezzi ed esegue la ricerca fino a quando l'elemento non viene trovato. Binario ricerca è un metodo di ricerca rapido e semplice per trovare l'elemento in una posizione specifica in tempo veloce.

In questo articolo, ti mostreremo come implementare Ricerca binaria nel linguaggio di programmazione C.

Come implementare la ricerca binaria in c

Gli sviluppatori usano Ricerca binaria Per semplificare il processo di ricerca poiché è abbastanza vantaggioso nel fornirti i risultati in un tempo molto breve. La complessità temporale del binario ricerca L'algoritmo è O (logn), che può essere efficace in un programma in cui il set di dati dato è troppo grande per essere cercato in modo lineare.

L'algoritmo di Ricerca binaria In C funziona nel modo seguente:

  • In primo luogo, si definisce l'elemento pivot che vuoi cercare.
  • Se Valore Pivot = Valore centrale, la ricerca è completata, continua.
  • Confronta l'elemento pivot con l'elemento centrale nell'array.
  • Se il valore del perno è < than the center element, it will search the element from left side of array to center element.
  • Se il valore del perno è> rispetto al valore dell'elemento centrale, cercherà dal lato destro dell'array.
  • Ripeti gli ultimi due passaggi fino a ottenere il perno.

Di seguito è riportata l'implementazione di Ricerca binaria Programma in lingua C:

#includere
int main ()

int i, sinistra, destra, medio, num, pivot, newarr [50];
printf ("Immettere il numero totale di elementi:");
scanf ("%d", & num);
printf ("Enter %d Integer Element:", num);
per (i = 0; i < num; i++)
scanf ("%d", e newarr [i]);
printf ("Inserisci il valore che puoi trovare:");
scanf ("%d", & pivot);
a sinistra = 0;
a destra = num - 1;
Middle = (sinistra+a destra)/2;
mentre (a sinistra <= right)
if (Newarr [Middle] < pivot)
a sinistra = Middle + 1;
else if (newarr [middle] == pivot)
printf (" %d trovato nella posizione %d.num ", pivot, medio+1);
rottura;

altro
a destra = Middle - 1;
Middle = (sinistra + a destra)/2;

if (sinistra> a destra)
printf ("L'elemento non si trova! %d non è presente nell'elenco.num ", pivot);
restituzione 0;

Nel codice sopra, inizializziamo prima le variabili, quindi prendiamo il numero totale di elementi dall'utente Num variabile e prendi i valori nell'array dall'utente fino a io. Quindi dalla variabile pivot, decidiamo il valore da abbinare e abbinare l'inizio dall'indice di sinistra 0 a end indice. Dividiamo quindi l'array come Middle = (sinistra+a destra)/2. Dopo questo, usiamo il ciclo while per trovare il perno attraverso la condizione se altro che trova l'elemento e genera un output con il numero dell'indice dell'elemento se trovato altrimenti lancerà un elemento non trovato errore.

Ecco l'output del codice.

Conclusione

Ricerca binaria è un potente algoritmo per restringere una selezione di oggetti in un array. Divide la sezione dell'elenco in metà che potrebbe davvero contenere l'oggetto a metà e ripetere nuovamente il processo fino a quando non c'è solo una posizione possibile o risulta a sinistra. Nelle linee guida sopra menzionate, abbiamo visto cosa Ricerca binaria È; e come possiamo usare Ricerca binaria nel codice di lingua C. In breve, la ricerca binaria è una tecnica di ricerca molto utile in un linguaggio C.