Datenstrukturen SS 2017 2. Juni 2017 Maike Buchin Übungsblatt 7

Werbung
Datenstrukturen SS 2017
Maike Buchin
Stef Sijben
2. Juni 2017
Übungsblatt 7
Abgabe bis 20. Juni 2017, 10:00 Uhr
Aufgabe 7.1 (4 Punkte)
Folgende Abbildung (Abb. 7.2 im Buch) zeigt, wie man das Aussehen eines Binärbaums
durch sogenannte Rotationen ändern kann. Wende mehrere Rotationen nacheinander auf
Unterbäume des Baums in der Abbildung an, so dass der Knoten, der den Schlüssel 5 enthält,
zur Wurzel wird.
17
10
v
3
15
u
2
2
5
3
5
11
7
11
19
13
17
19
∞
T1
s'
s
Rechtsrotation
T3
T2
u
s
s'
T1
Linksrotation
T2
v
T3
Abbildung 1: Links: Die sortierte Folge h2, 3, 5, 7, 11, 13, 17, 19i, dargestellt durch einen binären Suchbaum. Rechts: Rotationen in einem binären Suchbaum. Die Dreiecke
stehen für Unterbäume. Man beachte, dass sich die Vorgänger-Kind-Relation
zwischen den Knoten u und v umkehrt.
Aufgabe 7.2 (4 Punkte)
a) Gib den (2,3)–Baum an, der durch Einfügen der Schlüssel 6, 19, 17, 11, 3, 12, 8, 20, 21,
13, 14 (in dieser Reihenfolge) in einen leeren (2,3)–Baum entsteht.
b) Lösche aus dem Baum von Teilaufgabe a) die Elemente 8 und 20 und zeichne den Baum
erneut.
Aufgabe 7.3 (4 Punkte)
a) Erkläre, wie man aus einer sortierten Liste in Linearzeit einen (a, b)-Baum aufbauen
kann. Begründe, dass dein Algorithmus auch wirklich nur Linearzeit benötigt.
Tipp: Überlege dich für die Analyse, wieviele Knoten ein (a, b)-Baum mit n Blättern
maximal haben kann.
b) Welchen (2, 4)-Baum baut dein Algorithmus aus der Eingabefolge h1, . . . , 17i?
Aufgabe 7.4 (4 Punkte)
Erkläre, wie man aus einer als (a, b)-Baum organisierten sortierten Folge S in Zeit O(log n)
für gegebene α und β die Teilfolge he ∈ S : α ≤ e ≤ βi entfernt.
Herunterladen