Dein Lernbereich wird geladen
App wird gestartet …
Dein Lernbereich wird geladen
App wird gestartet …
Ein AVL-Baum ist ein binärer Suchbaum, dessen Teilbaumhöhen an jedem Knoten höchstens um eins abweichen; Rotationen stellen die Balance nach Änderungen wieder her.
Ansehen kostenlos · Karteikarten oder Multiple-Choice-Test · übernehmen ab Essential
Formel
h in Ebenen beziehungsweise Knotenstufen; Laufzeit O(log n) bei n Schlüsseln
| Symbol | Bedeutung | Einheit |
|---|---|---|
| Höhen des linken und rechten Teilbaums | Ebenen | |
| Anzahl gespeicherter Schlüssel | Anzahl | |
| Balancefaktor hL−hR | Ebenen |
|h_L-h_R|\le 1Die AVL-Invariante |hL−hR|≤1 erzwingt logarithmische Höhe. Einfügen und Löschen können sie lokal verletzen; einfache oder doppelte Rotationen reparieren die betroffenen Knoten unter Erhalt der Inorder-Sortierung. Suchen, Einfügen und Löschen benötigen O(log n) Zeit. Die konkrete Höhe hängt von Konventionen ab, ob leere Teilbäume Höhe −1 oder 0 haben; die Balancebedingung bleibt als Höhendifferenz gleich.
Die AVL-Invariante |hL−hR|≤1 erzwingt logarithmische Höhe. Einfügen und Löschen können sie lokal verletzen; einfache oder doppelte Rotationen reparieren die betroffenen Knoten unter Erhalt der Inorder-Sortierung. Suchen, Einfügen und Löschen benötigen O(log n) Zeit. Die konkrete Höhe hängt von Konventionen ab, ob leere Teilbäume Höhe −1 oder 0 haben; die Balancebedingung bleibt als Höhendifferenz gleich.
Ein AVL-Baum ist ein binärer Suchbaum, dessen Teilbaumhöhen an jedem Knoten höchstens um eins abweichen; Rotationen stellen die Balance nach Änderungen wieder her.
Balancefaktor
A valid AVL node has BF −1, 0 or +1.
Erkläre am Beispiel zu AVL-Baum: Balancebedingung und Höhe, welche Eingabegrößen zur gesuchten Ausgabe führen.
Das Beispiel verknüpft konkrete Eingaben mit dem Ergebnis.
Ein AVL-Baum ist ein binärer Suchbaum, dessen Teilbaumhöhen an jedem Knoten höchstens um eins abweichen; Rotationen stellen die Balance nach Änderungen wieder her.
Gültig ist die Beziehung nur unter den genannten Voraussetzungen.
Die Beziehung ohne ihre angegebenen Voraussetzungen auf einen anderen Fall übertragen.
Prüfe vor dem Einsetzen den Gültigkeitsbereich: Die AVL-Invariante |hL−hR|≤1 erzwingt logarithmische Höhe. Einfügen und Löschen können sie lokal verletzen; einfache oder doppelte Rotationen reparieren die betroffenen Knoten unter Erhalt der Inorder-Sortierung. Suchen, Einfügen und Löschen benötigen.
Formelcluster
Ein AVL-Baum ist ein binärer Suchbaum, dessen Teilbaumhöhen an jedem Knoten höchstens um eins abweichen; Rotationen stellen die Balance nach Änderungen wieder her.
Füge 30, 20, 10 in einen leeren AVL-Baum ein. Vor der Reparatur ist der linke Teilbaum der 30 um zwei Ebenen höher. Eine Rechtsrotation um 30 ergibt Wurzel 20 mit Kindern 10 und 30. Die Inorderfolge bleibt 10,20,30 und beide Teilbäume der Wurzel haben gleiche Höhe.
Geordnete Suchoperationen mit garantierter logarithmischer Höhe implementieren.
Eine typische Aufgabe Schritt für Schritt: AVL-Baum: Balancebedingung und Höhe (Balancefaktor = hL − hR ∈ {−1,0,1}).
Aufgabe
Erkläre am Beispiel zu AVL-Baum: Balancebedingung und Höhe, welche Eingabegrößen zur gesuchten Ausgabe führen.
Rechenweg
Das Beispiel verknüpft konkrete Eingaben mit dem Ergebnis.
Ein AVL-Baum ist ein binärer Suchbaum, dessen Teilbaumhöhen an jedem Knoten höchstens um eins abweichen; Rotationen stellen die Balance nach Änderungen wieder her.
Gültig ist die Beziehung nur unter den genannten Voraussetzungen.
An jedem Knoten eines AVL-Baums unterscheiden sich die Höhen des linken und rechten Teilbaums um höchstens eins. Beim Balancefaktor BF=hL−hR sind daher nur −1, 0 und +1 zulässig. Diese lokale Regel begrenzt die Gesamthöhe logarithmisch und verhindert, dass etwa sortiert eingefügte Schlüssel den Suchbaum zu einer langen Kette machen. Zusätzlich bleibt die binäre Suchbaumordnung erhalten: kleinere Schlüssel liegen links, größere rechts. Leere Teilbäume brauchen eine festgelegte Höhenkonvention, etwa minus eins oder null; der zulässige Höhenunterschied bleibt gleich. Die Schranke gilt auch nach jeder erfolgreich abgeschlossenen Einfügung oder Löschung.
Eine Rotation ändert Eltern-Kind-Verknüpfungen in einem kleinen Teilbaum, erhält aber dessen sortierte In-Order-Folge. Werden 30, 20 und 10 in dieser Reihenfolge eingefügt, macht eine Rechtsrotation 20 zur Wurzel; 10 liegt links und 30 rechts. Die Reihenfolge bleibt 10,20,30, während die Höhenabweichung verschwindet. Implementierungen müssen danach gespeicherte Teilbaumhöhen aktualisieren. Die Rotation repariert also die Form, nicht die Schlüsselordnung. Die Teilbäume zwischen den gedrehten Knoten müssen in der Schlüsselordnung an ihrer ursprünglichen Stelle bleiben. Die äußeren Teilbäume bleiben dabei an den Grenzen ihrer Schlüsselintervalle angeschlossen.
Bei einem Links-Rechts- oder Rechts-Links-Fall knickt der schwere Pfad zunächst zum inneren Kind ab. Eine Rotation am Kind wandelt die Situation in einen außen schweren Fall um; eine zweite Rotation am unausgeglichenen Knoten stellt die Balance wieder her. Entscheidend ist die Richtung der letzten Einfügung relativ zum schweren Kind. Eine einfache Links- oder Rechtsrotation würde den inneren Knick nicht beheben und könnte die Höhe weiter unausgewogen lassen. Die Doppelrotation folgt aus zwei entgegengesetzten Schritten und wird oft als Links-Rechts- beziehungsweise Rechts-Links-Fall benannt.
Die AVL-Höhe ist O(log n); deshalb benötigt eine Suche logarithmisch viele Knotenbesuche. Einfügen und Löschen folgen zunächst ebenfalls einem Pfad dieser Länge und aktualisieren Höhen beziehungsweise Balancefaktoren. Je betroffener Ebene genügt eine begrenzte Zahl lokaler Rotationen, sodass die gesamte Aktualisierung logarithmisch bleibt. Dafür speichert der Baum zusätzliche Balancemetadaten und führt bei Änderungen mehr Arbeit aus als ein unbalancierter Suchbaum. Bei sehr häufigen Änderungen kann ein weniger streng balancierter Baum trotz höherer Suchhöhe günstiger sein. Dadurch bleiben sowohl Suche als auch Aktualisierung im logarithmischen Worst Case.
Die Balance hängt von den Teilbaumhöhen ab, nicht vom numerischen Abstand zwischen Schlüsselwerten. 30, 20 und 10 machen die fallende Einfügereihenfolge anschaulich; dieselbe Links-Links-Situation entsteht für beliebige Werte x>y>z in dieser Reihenfolge. Die Rotation verändert nur die Baumstruktur. Suchvergleiche führen weiterhin kleinere Schlüssel nach links und größere nach rechts, sodass die Suchbaumordnung und damit die korrekte Suche erhalten bleiben. Die Schlüsselwerte dienen nur als anschauliche Suchreihenfolge; die Balance wird allein aus gespeicherten Teilbaumhöhen bestimmt. Die Wahl der konkreten Schlüssel ändert die Rotationsregel nicht.
Quanta-Prüfungsset
Kuratiertes Prüfungsset für "AVL-Baum: Balancebedingung und Höhe":
Frage (Vorderseite)
Welche Formel beschreibt AVL-Baum: Balancebedingung und Höhe?
Antwort in deinem Set
Frage (Vorderseite)
Wie stellst du Balancefaktor = hL − hR ∈ {−1,0,1} nach Balancefaktor um?
Antwort in deinem Set
Frage (Vorderseite)
Welcher typische Fehler passiert bei Balancefaktor = hL − hR ∈ {−1,0,1}?
Antwort in deinem Set
+ 7 weitere Karten: Einheiten, Variablen, Herleitung, Beispiel, Klausuraufgabe
Das Formelset enthält 10 Karten. Nach der Übernahme kannst du sie prüfen und lernen; deine Bewertungen bestimmen die weiteren Wiederholungen.
Die Liste nennt Fachquellen und weiterführende Literatur. Eine Seiten- oder Abschnittsnummer steht dabei, wenn sie Teil der Literaturangabe ist; es handelt sich nicht um wörtliche Zitate.
Erstelle ein kuratiertes FSRS-Prüfungsset für Balancefaktor = hL − hR ∈ {−1,0,1}: Formelabruf, Variablen, Herleitung, Umstellung, Beispiel, typische Fehler und Klausurkontext.
Kuratiertes Formelset · LaTeX · FSRS Spaced Repetition · übernehmen ab Essential