Binäre Suchbäume sind spezielle Binärbäume, deren Knoten Datensätze mit Schlüsseln enthalten.
binärer Suchbaum
Ein binärer Suchbaum ist ein Binärbaum, bei dem für jeden Knoten des Baumes gilt:
In der folgenden Aufgabe wurde ein binärer Suchbaum an einer Stelle 'gestört'. Finde diese Stelle und ändere den Schlüssel so, dass wieder ein binärer Suchbaum entsteht.
repariere den Suchbaum
Mit einem binären Suchbaum wollen wir die folgenden Operationen durchführen:
Operationen
Sprachregelung
Zur Vereinfachung unterscheiden wir jetzt nicht mehr zwischen Datensatz und Schlüssel und sprechen nur noch von den Schlüsseln.
Für jede Operation muss man sich überlegen, wie sie algorithmisch auszuführen ist.
Wir starten mit dem Suchen.
Wo ist der Schlüssel?
Die Operation suchen( s ) läuft nach folgendem Algorithmus ab:
suchen
Algorithmus zum Suchen von Schlüssel s
Beginne in der Wurzel.
Das Einfügen geht fast genau so wie das Suchen.
Wo muss der Schlüssel hin?
Hat es geklappt? Wie wurden bereits vorhandene Schlüssel eingefügt?
einfügen
Algorithmus zum Einfügen von Schlüssel s
Beginne in der Wurzel.
Ist der Schlüssel s bereits im Suchbaum vorhanden, so wird er nochmals, aber weiter rechts unten, abgespeichert