Prof. G. Zachmann
David Mainzer
TU Clausthal Institut für Informatik
3. Juli 2010
Sommersemester 2010
Übungen zu Informatik II - Blatt 12
Abgabe in der Übung am 6. 07 / 7. 07. 2010
Bitte beachten Sie, dass die Programmieraufgaben von Ihnen in der Übung vorgeführt und er- klärt werden müssen. Zusätzlich senden Sie die Lösung, unter Angabe ihres Namens, andm@tu- clausthal.de.
Aufgabe 1 (Suchbäume, 0.5+0.5+0.5 Punkte )
Entscheiden Sie, ob folgende drei Bäume korrekte binäre Suchbäume sind und begründen Sie:
14 0
5 16
3 7 12 19
9
18 18
33 27
1 40
29 57
Aufgabe 2 (Sortieralgorithmus, 2+2 Punkte)
Betrachten Sie folgenden Algorithmus zum Sortieren:
Algorithm 1: Sortieralgorithmus Eingabe:nKeysk1bis kn
Ausgabe: Ausgabe der Knoten des Baumes (inorder Traversierung) starte mit einem leeren BaumT
forallki do
fügeki zuT hinzu
traversiereT in inorder /* dies nennt man einen inorder tree walk */
gebe dabei die Knoten aus
Geben Sie die worst-case- und die best-case-Laufzeit an. Begründen Sie ihre Lösung.
1
Aufgabe 3 (Suchbäume, 2 Punkte )
Fügen Sie aus der folgenden Tabelle die Knoten in der gegebenen Reihenfolge in einen zu Beginn leeren binären Suchbaum ein (es ist ausreichend, wenn Sie den binären Baum am Ende angeben):
Reihenfolge Schlüssel
1. 27
2. 17
3. 37
4. 21
5. 43
6. 20
7. 17
8. 0
Aufgabe 4 (AVL-Bäume, 2+2+2+2 Punkte )
Führen Sie die folgenden Operationen in dem entsprechenden AVL-Baumen durch. Geben Sie dabei sämtliche Zwischenschritte und Balance-Faktoren an den Knoten an (für Knoten, deren Balance- Faktor sich nie ändert, reicht es, den Balance-Faktor einmal anzugeben). Versuchen Sie es zunächst ohne das in der Vorlesung genannte Applet
a)Einfügen von1in
7 4
2
13 9
11
17
b)Einfügen von24in
7 2
3
17 11
9 13
25 22 27
2
c)Löschen von4 in
5 3
2 1
4
10 8 7 6
9
12 11 13
d)Löschen von14in
8 4
1 7
6
12 14
3