Lösung von Aufgabe 5
-
Ein Problem beim Suchen in einem unsortierten Baum besteht darin,
dass man bei der Rekursion nicht weiß, wenn das Ziel woanders
gefunden wurde. Die einfachste Lösung besteht darin, immer den ganzen
Baum zu durchsuchen, nach dem Motto: Das bisschen Mehrarbeit ist kein
Problem. Hier soll ein besseres Verfahren vorgestellt werden:
- Die Einfüge-Methoden geben true zurück, wenn sie das Ziel gefunden haben. In der
Rekursion kann in diesem Fall auf eine weitere Suche verzichten
werden.
- Ein weiterer Vorteil: Gibt die oberste Routine
false zurück, weiß man, dass sich der
gesuchte Wert gar nicht im Baum befindet.
- Zur Verschönerung der Ausgabe wird je nach Tiefe ein
Stück eingerückt. Dazu bekommt die rekursive print-Methode ein Argument, das die Einrücktiefe angibt,
und bei jeder Rekursion entsprechend vergrößert wird.
-
Alles weitere kann wieder den Quellen entnommen werden:
- Applet