Direkt zum Inhalt

Illustration RL-Rotation (AVL-Baum)

<span>RL-Rotation (AVL-Baum)</span>
RL-Rotation (AVL-Baum)
Download

Teilen — es ist erlaubt die Illustration zu vervielfältigen und weiterzuverbreiten

Bearbeiten — es ist erlaubt die Illustration zu verändern und darauf aufzubauen und zwar für beliebige Zwecke, sogar kommerziell.

Teilen und Bearbeiten der Illustration ist mit Angabe des Links zur Illustration erlaubt.

Ein AVL-Baum ist ein binärer Suchbaum, bei dem für jeden Knoten \(v\) die Höhen seiner Teilbäume maximal um 1 unterscheiden. Das heißt für den Balance-Faktor gilt stets: \(b_{v} \in \{-1,0,1\}\).

Gibt es einen Knoten, bei dem der Balance-Faktor nicht zwischen -1 und 1 liegt, dann muss der Baum "rebalanciert", um diesen zu einem AVL-Baum zu machen. In der Illustration links oben wird die AVL-Eigenschaft vom Knoten A verletzt: \(b_A = 0 - 2 = -2\). Um die AVL-Eigenschaft wiederherzustellen, wird RL-Rotation ausgeführt. Diese wird immer dann ausgeführt, wenn der rechte Teilbaum von A einen Überhang mit einem "Knick" hat. Dazu wird zuerst, wie an einem Faden, am Knoten B nach rechts "gezogen" (R-Rotation), sodass sich dadurch ein Baum wie in der Illustration rechts oben ergibt. Anschließend wird am Knoten A nach links "gezogen" (L-Rotation), sodass sich dadurch ein Baum wie in der Illustration unten ergibt. Insgesamt wurde eine RL-Rotation durchgeführt.