Wie beweisen Sie, dass die erwartete Höhe eines zufällig erstellten binären Suchbaums mit Knoten ? Es gibt einen Beweis in der CLRS- Einführung in Algorithmen (Kapitel 12.4), aber ich verstehe ihn nicht.
10
Wie beweisen Sie, dass die erwartete Höhe eines zufällig erstellten binären Suchbaums mit Knoten ? Es gibt einen Beweis in der CLRS- Einführung in Algorithmen (Kapitel 12.4), aber ich verstehe ihn nicht.
Antworten:
Lassen Sie uns zunächst intuitiv darüber nachdenken. Im besten Fall ist der Baum perfekt ausbalanciert. Im schlimmsten Fall ist der Baum völlig unausgeglichen:
Wie Sie sicher bemerkt haben, bin ich leicht davon abgewichen, wie CLRS dies beweist, da CLRS zwei relativ häufige Beweisverfahren verwendet, die für Uneingeweihte beunruhigend sind. Die erste besteht darin, Exponenten (oder Logarithmen) dessen zu verwenden, was wir finden möchten (in diesem Fall Höhe), wodurch die Mathematik etwas sauberer funktioniert. Die zweite besteht darin, Anzeigefunktionen zu verwenden (die ich hier nur ignorieren werde). CLRS definiert die exponentielle Höhe als , daher ist die analoge Wiederholung .Yn=2hn Yn=2×max(Yi−1,Yn−i)
Unter der Annahme, dass die Unabhängigkeit (dass jede Zeichnung eines Elements (aus den verfügbaren Elementen) die Wurzel eines Teilbaums ist, unabhängig von allen vorherigen Ziehungen) weiterhin die Beziehung hat: für die ich zwei Schritte ausgeführt habe: (1) Verschieben des außerhalb, weil es eine Konstante ist und eine der Eigenschaften von Summationen ist, dass , und (2) die 2 nach außen verschieben, weil es auch eine Konstante ist und eine der Eigenschaften der erwarteten Werte . Jetzt werden wir das ersetzen
Zu diesem Zeitpunkt zieht CLRS einen Induktionsbeweis aus seinem ... Repertoire mathematischer Erfahrung heraus enthält eine Identität sie dem Benutzer zum Nachweis überlassen. Was bei ihrer Wahl wichtig ist, ist, dass sein größter Term , und erinnern Sie sich, dass wir die exponentielle Höhe so dass . Vielleicht wird jemand kommentieren, warum dieses spezielle Binom gewählt wurde. Die allgemeine Idee ist jedoch, unsere Wiederholung von oben mit einem Ausdruck für eine Konstante zu binden .E[Yn]≤14(n+33) ∑n−1i=0(i+33)=(n+34) n3 Yn=2hn hn=log2n3=3log2n→O(logn) nk k
Um mit einem Einzeiler abzuschließen:
quelle
n^k
), ist die Schlussfolgerung dieselbe, da diek
in der Big-O-Notation gelöscht wird (wie 3 gelöscht wurde). Aber wenn wir etwas Exponentiales (e^n
) einsetzen würden, wäre es immer noch eine korrekte Obergrenze, nur keine enge . Wir wissen, dass die erwartete Höhe mindestens logarithmisch ist. Wenn wir also feststellen, dass sie höchstens logarithmisch ist, ist sie eng.