Hvordan implementere binært søk i C

Hvordan implementere binært søk i C
Binær søk er en søketeknikk som brukes til å tildele den nøyaktige plasseringen av et nødvendig element i en sortert matrise. Den deler matrisen inn i to deler gjentatte ganger fra intervall til den finner det nøyaktige elementet i en matrise. Binær søk noen ganger refereres til som splitt og hersk algoritme fordi den deler matrisen i flere stykker og utfører søket til elementet er funnet. Binær Søk er en rask og enkel søkemetode for å finne elementet på en spesifikk stilling i rask tid.

I denne artikkelen vil vi vise deg hvordan du skal implementere binær søk på C -programmeringsspråket.

Hvordan implementere binært søk i C

Utviklere bruker binær søk For å forenkle søkeprosessen siden det er ganske gunstig å gi deg resultatene i veldig kort tid. Tidskompleksiteten til det binære Søk algoritme er O (logn), som kan være effektivt i et program der det gitte datasettet er for stort til å bli søkt lineært.

Algoritmen til Binær søk I C fungerer på følgende måte:

  • For det første definerer du pivotelementet du vil søke.
  • Hvis pivotverdi = midtverdi, er søket fullført ellers fortsett.
  • Sammenlign pivotelementet med midtelementet i matrisen.
  • Hvis pivotverdien er < than the center element, it will search the element from left side of array to center element.
  • Hvis svingverdien er> enn midtelementverdien, vil den søke fra høyre side av matrisen.
  • Gjenta de to siste trinnene til du får pivoten.

Følgende er implementering av Binær søk Program på C -språk:

#inkludere
int main ()

int i, venstre, høyre, midtre, num, pivot, newarr [50];
printf ("Vennligst skriv inn det totale antall element:");
scanf ("%d", & num);
printf ("Enter %d heltallelement:", num);
for (i = 0; i < num; i++)
scanf ("%d", & newarr [i]);
printf ("Vennligst skriv inn verdien du kan finne:");
scanf ("%d", & pivot);
venstre = 0;
høyre = num - 1;
midt = (venstre+høyre)/2;
mens (til venstre <= right)
if (newarr [midt] < pivot)
Venstre = midten + 1;
ellers if (newarr [midt] == ​​pivot)
printf (" %d funnet på stedet %d.num ", pivot, midt+1);
gå i stykker;

ellers
høyre = midten - 1;
midt = (venstre + høyre)/2;

if (venstre> høyre)
printf ("Elementet er ikke funnet! %D Det er ikke til stede på listen.num ", pivot);
retur 0;

I koden ovenfor initialiserer vi først variablene, og tar deretter det totale antall elementer fra brukeren av Num variabel og ta verdier i matrisen fra brukeren til Jeg. Deretter fra Pivot -variabelen, bestemmer vi verdien for å matche og matche start fra venstre indeks 0 til sluttindeks. Vi deler deretter matrisen som midten = (venstre+høyre)/2. Etter dette bruker vi mens loopen for å finne pivoten gjennom hvis annet tilstand som finner elementet og genererer en utgang med elementindeksnummeret hvis det er funnet ellers vil det kaste et element ikke funnet feil.

Her er utdataene fra koden.

Konklusjon

Binær søk er en kraftig algoritme for å begrense et utvalg av elementer i en matrise. Den deler delen av listen i halvdeler som virkelig kan inneholde objektet i to og gjenta prosessen igjen til det bare er en gjennomførbar posisjon eller resultat igjen. I de ovennevnte retningslinjene har vi sett hva binær søk er; og hvordan vi kan bruke binær søk I C Language Code. Kort sagt, binært søk er en veldig nyttig søketeknikk på C -språk.