Binäre Suche ist eine Suchtechnik, mit der die genaue Position eines erforderlichen Elements in einem sortierten Array zugewiesen wird. Es unterteilt das Array wiederholt in zwei Teile aus dem Intervall, bis es das genaue Element in einem Array findet.
Binäre Suche wird manchmal als als bezeichnet
dividieren und erobern Algorithmus, da es das Array in mehrere Teile unterteilt und die Suche durchführt, bis das Element gefunden wird. Binär
suchen ist eine schnelle und einfache Suchmethode, um das Element in einer bestimmten Position in der schnellen Zeit zu finden.
In diesem Artikel zeigen wir Ihnen, wie Sie implementiert werden können binäre Suche in der C -Programmiersprache.
So implementieren Sie eine binäre Suche in C
Entwickler verwenden binäre Suche So vereinfachen. Die zeitliche Komplexität der Binärdatum suchen Algorithmus ist O (logn), Dies kann in einem Programm effektiv sein, in dem der angegebene Datensatz zu groß ist, um linear durchsucht zu werden.
Der Algorithmus von Binäre Suche In C funktioniert auf folgende Weise:
- Erstens definieren Sie das Pivot -Element, das Sie suchen möchten.
- Wenn Pivot Value = Center Value abgeschlossen ist, wird die Suche abgeschlossen.
- Vergleichen Sie das Pivot -Element mit dem Mittelelement im Array.
- Wenn der Drehwert ist < than the center element, it will search the element from left side of array to center element.
- Wenn der Pivot -Wert> als der Zentrum -Element -Wert ist, sucht er von der rechten Seite des Arrays von der rechten Seite.
- Wiederholen Sie die letzten beiden Schritte, bis Sie den Drehpunkt erhalten.
Im Folgenden finden Sie die Implementierung von Binäre Suche Programm in C -Sprache:
#enthalten
int main ()
int i, links, rechts, mitte, num, pivot, newarr [50];
printf ("Bitte geben Sie die Gesamtzahl des Elements ein:");
scanf ("%d", & num);
printf (" %d Integer Element:", num);
für (i = 0; i < num; i++)
scanf ("%d", & newarr [i]);
printf ("Bitte geben Sie den Wert ein, den Sie finden können:");
scanf ("%d", & pivot);
links = 0;
rechts = num - 1;
Mitte = (links+rechts)/2;
während (links <= right)
if (Newarr [Mitte] < pivot)
links = Mitte + 1;
sonst if (newarr [Middle] == Pivot)
printf (" %d am Ort %d gefunden.Num ", Pivot, Mitte+1);
brechen;
anders
Right = Middle - 1;
Mitte = (links + rechts)/2;
if (links> rechts)
printf ("Das Element wird nicht gefunden! %D ist es nicht in der Liste vorhanden.num ", pivot);
Rückkehr 0;
Im obigen Code initialisieren wir zuerst die Variablen und nehmen dann die Gesamtzahl der Elemente vom Benutzer durch num Variable und nehmen Sie Werte im Array vom Benutzer bis zur ich. Dann entscheiden wir aus der Pivot -Variablen, den Wert und den starten Start vom linken Index 0 bis zum Ende des Index. Wir teilen dann das Array als Mitte = (links+rechts)/2. Danach verwenden wir die while -Schleife, um den Drehpunkt durch die Bedingung zu finden, die das Element findet und eine Ausgabe mit der Elementindexnummer erzeugt.
Hier ist die Ausgabe des Codes.
Abschluss
Binäre Suche ist ein starker Algorithmus, um eine Auswahl von Elementen in einem Array einzudämmen. Es unterteilt den Abschnitt der Liste in Hälften, die das Objekt wirklich in zwei Hälften enthalten und den Vorgang wieder wiederholen können, bis nur eine realisierbare Position oder ein Ergebnis übrig ist. In den oben genannten Richtlinien haben wir gesehen, was binäre Suche Ist; Und wie wir verwenden können binäre Suche im C -Sprachcode. Kurz gesagt, die binäre Suche ist eine sehr nützliche Suchtechnik in der C -Sprache.