Die binäre Suche ist eine schnelle Methode, um ein Ziel in einer sortierten Liste zu finden. Du prüfst das mittlere Element, schließt die Hälfte der verbleibenden Werte aus und wiederholst den Vorgang. Ist die Liste nicht geordnet, funktioniert diese Logik nicht.
Bei einer aufsteigend sortierten Liste ist die Regel einfach: Ist der mittlere Wert kleiner als das Ziel, suche rechts; ist er größer, suche links. Weil sich der Bereich jedes Mal ungefähr halbiert, läuft die binäre Suche in Zeit.
So funktioniert die binäre Suche in einer sortierten Liste
Verwende diese sortierte Liste:
Angenommen, das Ziel ist .
Beginne mit dem gesamten Bereich. Der mittlere Wert ist . Da gilt, kann alles links von ausgeschlossen werden, also geht die Suche weiter in
Jetzt ist der mittlere Wert . Da gilt, kann alles rechts von ausgeschlossen werden, also wird der Bereich zu
Nun ist der mittlere Wert , also stoppt die Suche. Die wichtige Idee ist nicht nur, dass das Ziel gefunden wurde. In zwei Vergleichen ist der Kandidatenbereich von Werten auf gesunken.
Warum die binäre Suche ist
Jeder Vergleich entfernt ungefähr die Hälfte der verbleibenden Kandidaten. Nach einem Schritt bleiben etwa Elemente übrig. Nach zwei Schritten bleiben etwa übrig. Nach Schritten ist die verbleibende Größe ungefähr
Die Suche endet, wenn diese Größe ungefähr ist, also gilt für die Anzahl der Schritte
Wenn man auf beiden Seiten den nimmt, erhält man
Deshalb skaliert die binäre Suche gut. Eine lineare Suche kann bis zu Prüfungen benötigen, aber die binäre Suche braucht nur so viele Prüfungen, wie nötig sind, um den Bereich immer weiter zu halbieren.
Codebeispiel für die binäre Suche
Hier ist eine übliche iterative Version in Python:
Brauchst du Hilfe bei einer Aufgabe?
Lade deine Frage hoch und erhalte in Sekunden eine verifizierte Schritt-für-Schritt-Lösung.
GPAI Solver öffnen →