Einführung Informatik/Algorithmen und Datenstrukturen
Prof. Dr. Reiner Dumke
SoSe 01
Dr. Martin Endig, Ilona Blümel, Dr. Martina Engelke, Bert Freudenberg,
Dr. Reinhard Köppe, Dr. Fritz Zbrog
19. Übungsblatt
Aufgabe 72
Erweitern Sie die Klasse LinkedBinaryTree um weitere Methoden
für binäre Suchbäume:
a) für die Bestimmung der Anzahl der Knoten,
b) zur Bestimmung der Höhe des Baumes und
c) zur Überprüfung der Ausgeglichenheit.
Aufgabe 73
Erläutern Sie den in der Vorlesung vorgestellten Algorithmus für
das Löschen von Knoten im
Suchbaum am Beispiel des Suchbaumes aus Aufgabe 70. Die Knoten sollen
in folgender
Reihenfolge gelöscht werden: 7, 3, 5, 4, 8, 2.
Aufgabe 74
Schreiben Sie eine Methode delete(Comparable x) für das
Löschen von Knoten mit gegebenem
Element in Suchbäumen (keine AVL-Bäume!). Welche Fälle
sind zu unterscheiden?
Aufgabe 75
a) Was ist ein ausgeglichener (AVL-) Baum? Weshalb ist es erforderlich,
binäre Bäume
auszugleichen?
b) Erläutern Sie den Algorithmus für das Einfügen von
Knoten mit gegebenem Element in
AVL-Bäumen am Beispiel des Einfügens der natürlichen
Zahlen von 14, 15, 17, 7, 5, 10 und
16 in dieser Reihenfolge.
c) Ist es sinnvoll, die bisher genutzte Datenstruktur Baum zu erweitern?
Aufgabe 76
Gegeben sei folgender AVL-Baum:
Löschen Sie die Knoten 15, 38, 26, 25 und 12 in dieser Reihenfolge.
Geben Sie alle notwendigen
Schritte (Rotationen) beim Löschen an, damit der Baum ausgeglichen
bleibt. Skizzieren Sie den
AVL-Baum nach jedem Löschen eines Elementes.