Was ist das große O der binären Suche?
Was ist das große O der binären Suche?

Video: Was ist das große O der binären Suche?

Video: Was ist das große O der binären Suche?
Video: Algorithmen und Datenstrukturen #11 - Die binäre Suche 2024, Kann
Anonim

Binäre Suche ist schneller als linear Suche außer bei kleinen Arrays.

Binäre Suche Algorithmus.

Visualisierung der binäre Suche Algorithmus wobei 7 der Zielwert ist
Klasse Suche Algorithmus
Best-Case-Leistung Ö (1)
Durchschnittliche Leistung Ö (log n)
Raumkomplexität im schlimmsten Fall Ö (1)

Was ist davon die Komplexität der binären Suche?

Binäre Suche läuft in der schlechtesten logarithmischen Zeit und führt O(log n)-Vergleiche durch, wobei n die Anzahl der Elemente im Array ist, das O die Big-O-Notation ist und log der Logarithmus. Binäre Suche nimmt konstanten (O(1)) Platz ein, was bedeutet, dass der vom Algorithmus eingenommene Platz für eine beliebige Anzahl von Elementen im Array gleich ist.

Ist die binäre Suche außerdem die schnellste? Ja und nein. Ja gibt es sucht die im Durchschnitt schneller sind als eine Bisektion Suche . Aber ich glaube, dass sie immer noch O(lg N) sind, nur mit einer niedrigeren Konstanten. Sie möchten die Zeit zum Auffinden Ihres Elements minimieren.

Ähnlich kann man sich fragen, wie schreibt man eine binäre Suche?

Binäre Suche : Suche ein sortiertes Array durch wiederholtes Teilen der Suche Intervall zur Hälfte. Beginnen Sie mit einem Intervall, das das gesamte Array abdeckt. Wenn der Wert des Suche kleiner als das Element in der Mitte des Intervalls ist, schränken Sie das Intervall auf die untere Hälfte ein. Ansonsten auf die obere Hälfte eingrenzen.

Was ist die Zeitkomplexität der binären Suche?

Es muss also eine Art von Verhalten geben, das der Algorithmus als gegeben zeigt a Komplexität von log n. Lassen Sie uns sehen, wie es funktioniert. Schon seit binäre Suche eine Best-Case-Effizienz von O(1) und eine Worst-Case-(Durchschnitts-)Effizienz von O(log n) hat, betrachten wir ein Beispiel für den Worst-Case. Betrachten Sie ein sortiertes Array mit 16 Elementen.

Empfohlen: