Buchtitel in alphabetischer Reihenfolge drucken
In diesem Video hast du drei Möglichkeiten kennengelernt, wie du das Traversal der Tiefensuche in Binärbäumen implementieren kannst: in-order, pre-order und post-order.
In dem folgenden binären Suchbaum hast du die Titel einiger Bücher gespeichert.
Der Baum wurde in der Variable bst
vorgeladen (Zeile 15):
bst = CreateTree()
Kannst du das In-Order-Traversal anwenden, damit die Titel der Bücher alphabetisch geordnet erscheinen?
Diese Übung ist Teil des Kurses
Datenstrukturen und Algorithmen in Python
Anleitung zur Übung
- Prüfe, ob
current_node
existiert. - Rufe die Funktion
in_order()
rekursiv in der entsprechenden Hälfte des Baums auf. - Drucke den Wert der
current_node
. - Rufe die Funktion
in_order()
rekursiv auf der anderen Hälfte des Baums auf.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
class BinarySearchTree:
def __init__(self):
self.root = None
def in_order(self, current_node):
# Check if current_node exists
if ____:
# Call recursively with the appropriate half of the tree
self.in_order(current_node.____)
# Print the value of the current_node
print(____)
# Call recursively with the appropriate half of the tree
self.in_order(current_node.____)
bst = CreateTree()
bst.in_order(bst.root)