Behauptung : Nein, es gibt kein solches μ .
Beweis : Wir geben eine unendliche Folge von AVL-Bäumen wachsender Größe an, deren Gewichtsausgleichswert gegen tendiert 0, was der Behauptung widerspricht.
Sei Ch der vollständige Baum der Höhe h ; es hat 2h+1−1 Knoten.
Sei Sh der Fibonacci-Baum der Höhe h ; es hat Fh+2−1 Knoten. [ 1 , 2 , TAoCP 3 ]
Nun sei (Th)i≥1 mit Th=N(Sh,Ch) die Folge von Bäumen, die wir für ein Gegenbeispiel halten.
Betrachten Sie den Gewichtsausgleichswert der Wurzel von Th für einige h∈N+ :
Fh+22h+1+Fh+2−1=11+2h+1Fh+2−1Fh+2∼Fh+22h+1=15√(ϕh+2−ϕ^h+2)2h+1∼ϕh+25–√⋅2h+1→h→∞0
Damit ist der Beweis abgeschlossen.
Notation :
- Fnn
- ϕ≈1.6ϕ^≈−0.62
- f∼gfglimn→∞f(n)g(n)=1
Anmerkung : Fibonacci-Bäume sind genau die AVL-Bäume mit den geringsten Knoten für eine bestimmte Höhe (oder entsprechend der maximalen Höhe für eine bestimmte Anzahl von Knoten).
Nachtrag : Wie können wir zu Fibonacci-Bäumen kommen, wenn wir nicht gehört hätten, dass ein Professor sie erwähnt hat? Nun, wie würde ein AVL-Baum der Höhe mit möglichst wenigen Knoten aussehen? Natürlich brauchst du eine Wurzel. Einer der Teilbäume muss die Höhe , und wir müssen ihn mit möglichst wenigen Knoten auswählen. Die andere kann die Höhe ohne die Höhenausgleichsbedingung zu verletzen, und wir wählen sie auch mit so wenigen Knoten wie möglich. Im Wesentlichen konstruieren wir die Bäume, die wir rekursiv wollen! Dies sind die ersten vier:h - 1 h - 2hh−1h−2
[ Quelle ]
Wir haben eine Wiederholung für die Anzahl der Knoten in dem so konstruierten Baum mit der Höhe :hf(h)h
f(1)f(2)f(h)=1=2=f(h−1)+f(h−2)+1n≥3
Das Lösen führt zu das wir oben verwendet haben.f(h)=Fh+2−1
Der gleiche Beweis wird (mit weniger Details) in Binary Search Trees of Bounded Balance von Nievergelt und Reingold (1972) erbracht.