next up previous contents
Nächste Seite: Operationen auf AVL-Bäumen Aufwärts: Balancierte Binärbäume Vorherige Seite: Balancierte Binärbäume   Inhalt

AVL-Bäume

Sei $ T $ ein binärer Suchbaum und $ p $ ein Knoten in $ T $. Weiter sei $T_l$ der linke und $T_r$ der rechte Teilbaum des Knotens $ p $. Die Balance in Knoten $ p $ ist der Wert:
\begin{displaymath}
\textrm{bal}(p) = \textrm{H\uml ohe}(T_l) - \textrm{H\uml ohe}(T_r)
\end{displaymath} (1)

Ein AVL-Baum ist ein binärer Suchbaum $ T $ mit Knoten $ p $, genau dann, wenn gilt:
\begin{displaymath}
\forall p: \textrm{bal}(p) \in \{-1,0,1\}
\end{displaymath} (2)

AVL-Bäume werden wie Suchbäume implementiert, wobei für jeden Knoten $ p $ die Balance in Knoten $ p $ als zusätzliche Komponente gespeichert wird. Abbildung 6 veranschaulicht dies.

Abbildung 6: Höhenbalance
\begin{figure}
\epsfig{file=Folie6.eps,width=\linewidth}
\end{figure}

Für AVL-Bäume $ T $ mit $ n $ Knoten gilt (ohne Beweis):
\begin{displaymath}
\textrm{H\uml ohe}(T) = O(\log n)
\end{displaymath} (3)

Genauer: $ \textrm{H\uml ohe}(T) \leq 1.44 \log n $

Daniel Hottinger 2001-05-16