¨Ubungen zur Vorlesung Datenstrukturen, Algorithmen und

Werbung
Daniel Chernuchin, Udo Feldkamp, Oliver Giel,
Thomas Hofmeister, Dennis Müller, Tobias Storch
Dortmund, 09. Juni 2004
Abgabe: 17. Juni, 14.00 Uhr
Übungen zur Vorlesung
Datenstrukturen, Algorithmen und Programmierung 2
Sommersemester 2004
Blatt 9
Aufgabe 1 (5 Punkte)
Wir betrachten geschlossenes Hashing auf einer Hashtabelle mit M = 13 Elementen. Starte
mit der leeren Hashtabelle und füge nacheinander die Schlüssel 1024, 233, 63, 128, 1218, 689,
388, 7709, 296, 68, 381 in die Hashtabelle ein. Benutze dabei:
a) Lineares Sondieren
b) Quadratisches Sondieren
c) Multiplikatives Sondieren
Verwende für a) und b) die Hashfunktion h(x) = x mod M , für c) h(x) = (x mod (M −1))+1.
Ermittle für jede Strategie die durchschnittliche und die maximale Anzahl von Sondierungen
(Anzahl der Tabellenplätze, die pro Einfügeoperation untersucht werden) in diesem konkreten
Beispiel.
Aufgabe 2 (5 Punkte)
Füge nacheinander die Zahlen 8, 9, 2, 10, 6, 1, 3, 7, 5, 4 in einen zu Beginn leeren binären
Suchbaum ein. Lösche danach die Zahlen 10, 3, 8. Zeichne den entstandenen Suchbaum nach
der letzten INSERT- sowie nach jeder DELETE-Operation.
Aufgabe 3 (5 Punkte)
Zur Schlüsselmenge {1, . . . , n} gibt es verschiedene Suchbäume, die die Schlüssel aus genau
dieser Schlüsselmenge enthalten. Zum Beispiel gibt es für n = 2 zwei verschiedene Suchbäume
mit Schlüsselmenge {1, 2}.
Wieviele verschiedene binäre Suchbäume gibt es, wenn n beliebig ist?
Genauer: Finde eine geeignete Rekursionsgleichung, argumentiere, dass sie korrekt ist, und
berechne mit Hilfe der Rekursionsgleichung die Anzahl verschiedener binärer Suchbäume für
die Schlüsselmenge {1, 2, 3, 4, 5}.
Hinweis: Du brauchst die Rekursionsgleichung nicht zu lösen, also keine explizite Formel für
sie anzugeben.
Aufgabe 4 (5 Punkte)
Beweise oder widerlege folgende Aussagen zu binären Suchbäumen:
a) Verschiedene Reihenfolgen von INSERT-Operationen führen auch immer zu verschiedenen binären Suchbäumen.
b) Gibt man die Knoten eines binären Suchbaums in Inorder-Reihenfolge aus, so sind die
Schlüssel in der Ausgabe aufsteigend sortiert.
c) Der minimale Schlüssel ist immer in einem Knoten maximaler Tiefe abgelegt.
d) Entfernt man die Schlüssel eines Baums in aufsteigender Reihenfolge, so tritt nie Fall
3 der DELETE-Operation ein (siehe Skript, S. 72).
e) Die Preorder-Reihenfolge eines binären Suchbaums legt das Aussehen des Baums eindeutig fest.
Herunterladen