2016-05-08 13 views
1

Ist die durchschnittliche Zeitkomplexität für eine erfolgreiche binäre Suche in einem sortierten Array und in einem binären Suchbaum gleich, O (log (n))?Adjazenzlisten und durchschnittliche Zeitkomplexität für die binäre Suche (2 separate Fragen)

Auch sind die Worst-Case-Zeitkomplexität für beide gleich, O (n)?


Wenn eine Adjazenzliste für eine Grafik zu zeichnen, wird die Reihenfolge dieser Angelegenheit? Zum Beispiel wäre es falsch, dies zu ändern:

enter image description here

Zu diesem (Hinweis in der ersten Reihe, wie die 2 und 3 sind eingeschaltet):

enter image description here

Antwort

0

Das Schlimmste und mittlere zum Suchen in einem sortierten Array ist O (Log n). Und das ist, weil, wenn das Array sortiert ist, Sie höchstens O (Log n) Sprünge machen, um zu schließen, dass das Element nicht existiert. In einem BST sind der schlechteste und der Durchschnitt O (n) bzw. O (Log n), wobei der schlimmste Fall auftritt, wenn der Baum vollständig verzerrt ist und sich somit wie eine verkettete Liste verhält.


Ihre Bestellung einige Ausführungs Rolle in können Sie durchführen können (wie DFS anderen Pfad zu einem anderen Knoten zurückkehrt), aber beide Liste adjacency Darstellungen sind absolut gültig.

+1

Ah ich sehe, das macht viel mehr Sinn. Ich erinnere mich, dass mein Professor so die Laufzeiten erklärte, aber es ist eine Weile her, dass meine Erinnerung mich enttäuscht hat. Ich habe versucht, es zu googeln und bekam immer gemischte Ergebnisse, von denen ich wusste, dass sie ausgeschaltet waren. Vielen Dank! – StacksAndParsing