Aufgaben 5.1

Diese Aufgabe ist deutlich komplexer als die bisherigen Aufgaben und unterteilt sich daher in mehrere Funktionen.

Schreiben Sie eine Klasse mit dem Namen Node für einen binären Suchbaum. Ein binärer Suchbaum ist eine Graph, in dem Daten sortiert gespeichert werden. Ausgehend von einer Wurzelknoten, hat jeder Knoten im Graph zwei Kindknoten: ein linkes Kind und ein rechtes Kind. Die Kinder können ebenfalls wieder Kinder haben, uzw. Den linken, bzw. rechten Knoten und alle Kinder nennt man linken, bzw. rechten Teilbaum.

Jeder Knoten beinhaltet den ein Element des Suchbaums, im Rahmen dieser Übung eine Zahl. Die Elemente aller Knoten im Linken Teilbaum sind kleiner als das Element des aktuellen Knotens, im rechten sind sie größer. Jedes Element kann maximal einmal vorkommen. Hier ist ein Beispiel für einen kleinen Suchbaum.

Jetzt müssen Sie die folgenden Methoden Programmieren.

  • __init__() Konstructor zur Initialisierung der Wurzel

  • addNode(int) Hinzufügen einzelner Elemente

  • printBaum() Ausgabe als String

  • addAll(list) Hinzufügen aller Elemente eines Sequenztyps (z.B. Liste, Menge)

  • findValue(int) sucht nach einem eingegebenen Wert und gibt "Found" zurück, wenn er existiert, und "Not Found", wenn nicht

Ihr Programm



(Bitte warten Sie während der Python Interpreter lädt)