Übungsblatt 3

Werbung
Prof. Dr. Norbert Blum
M.Sc. Adrian Schmitz
Informatik V
BA-INF 032 - Algorithmen und Berechnungskomplexität I
WS 2014/15
Übungsblatt 3
23. Oktober 2014
Aufgabe 1
Seien k ∈ N0 und S eine sortierte Menge. Die Operation SucheUndNachfolger(a, k, S) ist
wie folgt definiert:
• Falls a ∈ S: Gebe a und die nächsten k größeren Elemente in S aus.
• Falls a ∈
/ S: Gebe a ∈
/ S aus.
Beispiel: Bestehe S aus den Elementen 1, 2, 10, 12, 50, 51, 100 und 200. Dann gibt die Anfrage SucheUndNachfolger(10, 3, S) nacheinander die Elemente 10, 12, 50 und 51 aus. Erweitern Sie AVL-Bäume, so dass SucheUndNachfolger(a, k, S) in Zeit O(k + log n) ausgeführt
werden kann, wobei n die Anzahl der Knoten in S ist. Einfügen muss weiterhin in Zeit
O(log n) möglich sein.
Beschreiben Sie die Idee Ihrer Erweiterung. Geben Sie Algorithmen für Einfügen und SucheUndNachfolger an.
Aufgabe 2
Nehmen wir an, dass wir in jedem Knoten v eines AVL-Baumes zusätzlich das maximale
Element und die Höhe des Teilbaums mit Wurzel v speichern.
Zeigen Sie, dass die Operationen Zugriff, Einfügen und Streichen in O(log n) Zeit durchgeführt werde können, wobei n die Anzahl der Knoten des AVL-Baumes ist.
Aufgabe 3
Ein Baum T heißt HB-Baum, wenn er folgende Eigenschaften besitzt:
• Jeder innere Knoten von T hat einen oder zwei Söhne.
• Jeder Knoten mit nur einem Sohn hat einen Bruder mit zwei Söhnen.
• Alle Blätter von T haben dieselbe Tiefe.
Zeigen Sie, dass ein HB-Baum T der Höhe h mit n Blättern stets Fh+2 ≤ n ≤ 2h erfüllt.
Dabei bezeichnet Fm die Fibonacci-Folge.
Hinweis: Es besteht eine Beziehung zwischen T zu einem AVL-Baum mit n Blättern der
Höhe h.
Aufgabe 4
• Modifizieren Sie die Algorithmen für Zugriff(a, S), Einfügen(a, S) und
Streichen(a, S), so dass diese B-Bäume der Ordnung k mit blattorientierter
Speicherung korrekt behandeln.
• Modifizieren Sie B-Bäume dergestalt, dass für jeden inneren Knoten lediglich noch
die Zeit O(log k) verwendet wird.
Aufgabe 5* (wird im Testat nicht geprüft)
Ein Rot-Schwarz-Baum ist ein binärer Suchbaum, bei dem die Knoten entweder rot oder
schwarz eingefärbt sind. Zudem gelten folgende Bedingungen:
• Die Wurzel des Baumes ist schwarz.
• Alle Blätter sind schwarz.
• Ist ein Knoten rot, so sind seine beiden Söhne schwarz.
• Jeder Pfad von der Wurzel zu einem Blatt des Baumes enthält die gleiche Anzahl
schwarzer Knoten.
Wie groß ist die maximale Höhe eines Rot-Schwarz-Baumes mit n Knoten? Beweisen Sie
Ihre Antwort!
Hinweis: Überlegen Sie, wie Sie diese Bedingungen für einen möglichst unbalancierten Baum
erfüllen können und welche Höhe dieser Baum hat.
Herunterladen