Bäume in ADS
Von Knoten zu Komplexität: ein visuelles Cheat Sheet für Begriffe, Operationen und typische Klausurfragen.
Schaubilder zuerst
Erst sehen, dann benennen. Diese sechs Bilder sind die Karte für die ganze Seite.
Wurzel, Kanten, innere Knoten, Blätter.
Ein Vergleich pro Ebene, nicht alle Knoten.
Das Knotenlimit kommt aus den Suchbereichen.
Mitte hoch, kleiner links, größer rechts.
Leer ist verboten: dann leihen oder verschmelzen.
Die Höhe h entscheidet: balanciert vs. Liste.
Mentales Modell
Ein Baum ist eine Hierarchie: oben ein Startpunkt, darunter verzweigte Entscheidungen. Jede Verzweigung führt zu einem Teilproblem.
Wie ein Dateisystem: ein Ordner enthält weitere Ordner oder Dateien. Eine Ebene tiefer = eine Entscheidung mehr.
Jedes Mal, wenn du einen Baum siehst, finde zuerst Wurzel und Blätter. Der Rest ergibt sich daraus.
Grundbegriffe
Lerne die Begriffe am konkreten Baum, nicht aus einer abstrakten Definition.
Eine einzelne Verbindung zwischen zwei Knoten.
Folge von Knoten, die wir beim Suchen besuchen: 10 → 20 → 30.
Eine Box, die einen Wert speichert und 0, 1 oder mehr Kinder haben kann.
Eine einzelne Verbindung zwischen zwei Knoten.
Oberster Knoten, hat keinen Elternknoten.
Knoten ohne Kinder.
Längster Weg von Wurzel zu einem Blatt, gemessen in Kanten.
Abstand eines Knotens von der Wurzel, gemessen in Kanten.
Binärer Suchbaum
Links kleiner, rechts größer. Diese Regel lässt die Suche ganze Teilbäume überspringen.
Suche kann Teilbäume nicht überspringen.
Ein Vergleich pro Ebene halbiert den Rest.
Für jeden Knoten gilt: alle Werte im linken Teilbaum sind kleiner, alle im rechten Teilbaum sind größer.
2-3-4-Knoten
Ein Knoten darf 1, 2 oder 3 Schlüssel enthalten. Die Anzahl Schlüssel bestimmt die Anzahl Kinder.
1 key
2 keys
3 keys
Ein Knoten mit 3 Schlüsseln hat 4 Bereiche, in die ein neuer Wert fallen kann. Mehr Bereiche gibt es nicht, weil ein Schlüssel nur zwischen zwei Bereichen steht.
3 Schlüssel erzeugen 4 Suchbereiche – genau passend.
4 Schlüssel erzeugen 5 Suchbereiche, maximal 4 erlaubt.
Insert & Split
Einfügen legt sortiert hinzu. Ist der Knoten voll, wird gesplittet: die Mitte steigt auf.
1. Einfügen mit Platz
2. Split am Beispiel [4 | 9 | 15] — interaktiv
‚Split-Mechanik im 2-3-4-Baum‘ — Audio-Erklärung zur Animation
3. Einfügen in einen vollen Knoten
Einfügen = sortiert in die passende Box legen.
Splitten = voller Knoten wird geteilt; die Mitte steigt zum Elternknoten auf.
Löschen aus Blättern
Löschen ist einfach, solange der Knoten danach nicht leer wird. Sonst muss repariert werden.
Knoten bleibt gültig.
Leerer Knoten verletzt die Baumregel.
Komplexität
Suche kostet O(h), weil pro Ebene genau eine Entscheidung fällt. Die Frage ist: wie groß ist h?
In einem balancierten Baum hat jeder Knoten etwa 2 Kinder. Jede Ebene verdoppelt die Anzahl möglicher Plätze. Umgekehrt: bei n Werten brauchen wir nur etwa log₂(n) Ebenen.
Jede Ebene verdoppelt die Kapazität.
Baum ist eine verkettete Liste.
Suche: O(log n). Jede Ebene halbiert den Rest.
Suche: O(n). Baum sieht aus wie eine verkettete Liste.
Insert/Delete halten den Baum balanciert: O(log n).
- Was ist
n? - Was ist der zentrale Schritt?
- Wie viele Ebenen muss ich maximal runter?
- Was ist
h? - Ist
heher log n oder n?
Typische Fallen
Diese falschen Denkspuren tauchen in Testaten und Klausuren immer wieder auf.
| Falsche Spur | Korrektur |
|---|---|
| [10 | 15 | 20] sind drei Knoten. | Das ist ein Knoten mit drei Schlüsseln. |
| Einfügen heißt hinten anhängen. | Einfügen heißt sortiert einsortieren. |
| 2-3-4-Knoten mit vier Schlüsseln ist okay. | Vier Schlüssel erzeugen fünf Suchbereiche, maximal vier erlaubt. |
| Suche ist immer O(log n). | Suche ist O(h). Nur wenn h = log n, wird daraus O(log n). |
Testat-Check & Klausurdrill
Nicht nur lesen – aktiv abrufen. Erkläre jeden Begriff mit eigenen Worten.
- Was ist ein Knoten?
- Was ist ein Blatt?
- Warum ist
[10 | 20 | 30]in einem 2-3-4-Baum noch erlaubt? - Warum ist
[10 | 15 | 20 | 25]verboten? - Was passiert beim Split von
[4 | 9 | 15]? - Warum ist Suche in balancierten Bäumen O(log n)?
- Wann wird ein Baum zu O(n)?
- Markiere im Baum
10 / 5 / 20Wurzel, Blätter und Höhe. - Wie viele Suchbereiche hat
[5 | 12 | 30]? - Was passiert bei
[10 | 20] + 15? - Was passiert bei
[4 | 9 | 15]beim Split? - Warum ist Suche in einem balancierten Baum O(log n)?
Lösungsskizze
- Wurzel 10, Blätter 5 und 20, Höhe 1 (Kanten) oder 2 (Knoten).
- Vier Suchbereiche.
- Sortiert einfügen:
[10 | 15 | 20]. - 9 geht hoch, 4 links, 15 rechts.
- Pro Ebene eine Entscheidung; balancierter Baum hat etwa log₂(n) Ebenen.
Ich kann das erklären, wenn …
- ich einen beliebigen Mini-Baum in Wurzel, Blätter, Höhe und Tiefe zerlegen kann.
- ich an einem 2-3-4-Knoten die Anzahl Kinder aus den Schlüsseln ableiten kann.
- ich Insert und Split am konkreten Beispiel Schritt für Schritt trace.
- ich Big-O mit
n,hund dem zentralen Schritt begründe.