Ich verstehe die in-order bei der Traversierung nicht ganz. Zumindest nicht im Code.
Man fängt bei der 5 an und läuft rekursiv bis zur 1, also immer nach links. Danach gebe ich die 1 aus. Danach würde die 3 ausgegeben werden, sprich man klettert wieder hoch.
Ich verstehe nicht, wie das Hochklettern funktioniert. Weil nach der 1 würde man doch nach rechts springen wollen, was nicht geht, weil die 1 keine Kinder hat. Dasselbe nachdem ich die 1-3. und die 4 ausgegeben habe: Wie springe ich wieder hoch zur 5?
Also im Pseudocode verstehe ich das Prinzip schon. Immer links, Wurzel, rechts. Aber im richtigen Code nicht.
Ich habe diesen Codeabschnitt von ChatGPT:
def in_order_traversal(root):
if root is not None:
# Zuerst den linken Teilbaum durchlaufen
in_order_traversal(root.left)
# Dann den Wurzelknoten besuchen
print(root.value)
# Schließlich den rechten Teilbaum durchlaufen
in_order_traversal(root.right)