aufg10_loes - oth

Werbung
Lösungen
1. Aufgabe
Die logische Struktur eines Bayer-Baums soll ermittelt werden. Die Knoten des gesuchten Bayer-Baums
(Ausnahme: die Wurzel) können minimal einen Schlüssel aufnehmen, maximal zwei Schlüssel. Der Bayer-Baum
soll die folgenden Zahlen (Schlüsselwerte) aufnehmen: 52, 57, 94, 67, 37, 54, 62, 63, 68, 100, 111. Die Eingabe
dieser Zahlen erfolgt nacheinander, alle daraus resultierenden Formen des Bayer-Baums ( Verän-derungen der
äußeren Gestalt) sind anzugeben.
. 52 . 57 .
. 57 .
. 37 . 52 .
. 67 . 94 .
. 57 .
.37 . 52 . 54 .
. 67 . 94 .
. 52 . 57 .
. 37 .
. 54 .
. 67 . 94 .
. 52 . 57 .
. 37 .
. 54 .
. 62 . 67 . 94 .
. 52 . 57 . 67 .
. 37 .
. 54 .
. 62 .
. 94 .
. 57 .
. 52 .
. 37 .
. 54 .
. 67 .
. 62 .
. 94 .
. 57 .
. 52 .
. 37 .
. 54 .
. 67 .
. 62 . 63 .
. 68 . 94 .
. 57 .
. 52 .
. 37 .
. 54 .
. 67 . 94 .
. 62 . 63 .
. 68 .
.100 . 111 .
2. Aufgabe
1. Zeige anhand eines Schreibtischtests, wie ein 5-ärer Bayer-Baum bei der Aufnahme der Schlüssel "10, 20, 30,
40, 50" die balancierte Struktur eines Bayer-Baums aufbaut.
Zum Schreibtischtest benutze einen Bayer-Baum, dessen Knoten durch die Klasse CBNode und dessen Struktur
durch die Klasse CBayerTree aufgebaut werden.
Insbesondere ist anzugeben, welche Methoden bei der Erstellung der Bayer-Baumknoten bzw. bei der Aufnahme
von Schlüsselwerten aufgerufen werden und zu zeigen, welche Baumknoten erzeugt und wie die Schlüssel auf
diese Baumknoten verteilt werden.
.10.20.30.40. (50)
.30.
.10.20.
.40.50.
Voraussetzung:
Root = 0
Maerer = 5
Abblauf: (vgl. S88)
Insert(10)
Root == 0 ? true
Root count =1
Insert(20)
Root == 0 ? false
Searchkey(((Integer)value) .intValue()) == true ? (->false)
Searchkey(20)
Return found == false
Result = insrekurs(root,20)
(root = tempnode; 20 = insValue)
Result =null
InsValue = 20
Tempnode.nodeptr.elementAt(0) != null ? false
Node = null
Flag = 0
S =1
1>=4 ? false
tempnode.count = 2
[.10.20.]
result = null
insert(30)
...
insert(40)
...
insert(50)
...
3. Aufgabe
4. Aufgabe
Die folgende Zahlenfolge soll die Eingabe von Schlüsselwerten für einen 5ären Bayer-Baum beschreiben: 1, 2,
3,4,5, 6, 7, 8, 9,10. Wie sieht nach Eingabe dieser Schlüssel die Struktur des resultierenden Bayer Baums aus?
Anzugeben ist die logische Anordnung der Knoten im Bayer-Baum und die Verknüpfung der Seiten (Blöcke) in
einer Datei, die den Bayer-Baum persistent enthält.
a) Logische Anordnung der Knoten im Bayer-Baum
.3.6.
.1.2.
.4.5.
. 7 . 8 . 9 . 10 .
b) Struktur vom Bayer-Baum in der in Seiten aufgeteilten Datei
Seite 0
Seite 1
.1.2.
Seite2
.4.5.
Seite3
.3.6.
Seite 4
. 7 . 8 . 9 . 10 .
Wurzel
Anker freie Liste
Gelöscht wird der Schlüssel mit dem Wert 2. Evtl. frei werdende Blöcke (Seiten) sollen unter dem Anker "freie
Liste" linear verkettet werden.
a) Logische Anordnung der Knoten im Bayer-Baum
.6.
.1.3.4.5.
. 7 . 8 . 9 . 10 .
b) Struktur vom Bayer-Baum in der in Seiten aufgeteilten Datei
Seite 0
Seite 1
.1.3.4.5.
Wurzel
Anker freie Liste
Seite2
Seite3
.6.
Seite 4
. 7 . 8 . 9 . 10 .
Herunterladen