Ich habe eine binäre Suchbaumdatenstruktur-Klasse, die Knoten enthält, welche Objekte in der Seite der Klasse sind, die wie ein binärer Suchbaum wirkt.
Die Klasse ist zu lang, um hier zu posten, aber im Grunde das ist, wie es funktioniert. Wenn ich den oberen Wert des bst ausdrucken möchten, würde ich sagen,
print (self._root)
Wenn ich auf der linken Seite des Baumes (mit gleichen gehen nach rechts, nur setzen rechts statt links) bewegen, wollte ich würde sagen,
print (self._root._left)
Ich hoffe, das ist genug, so dass Sie mir bei meinem Problem helfen können
Also auf mein Problem, wenn ich eine bst wie:
6
/ \
3 8
/ \ \
1 4 10
Ich möchte ausdrucken können:
6
3
8
1
4
10
Ich habe eine rekursive Querungsfunktion geschrieben:
def traverse(self):
a = []
self._traverse_aux(self._root, a)
return a
def _traverse_aux(self, node, a):
if node is not None:
self._traverse_aux(node._left, a)
a.append(node._value)
self._traverse_aux(node._right, a)
return
Wie auch immer, druckt diese die Werte in einem einzigen Array:
[1, 3, 4, 6, 8, 10]
Wie kann ich es so, wie ich oben drucken möchten?













