Ik heb een binaire zoekboom datastructuur klasse die knooppunten welke objecten in de zijkant van de klasse die zich gedraagt als een binaire zoekboom zijn bezit.
De klasse is te lang om hier te posten, maar in principe dit is hoe het werkt. Als ik wil naar de top waarde van de bst af te drukken, zou ik zeggen
print (self._root)
Als ik wilde om te verhuizen naar de linkerkant van de boom (hetzelfde met naar rechts, zet rechts in plaats van links), zou ik zeggen
print (self._root._left)
Ik hoop dat dit genoeg zodat je me kan helpen met mijn probleem
Dus op mijn probleem, als ik een bst, zoals:
6
/ \
3 8
/ \ \
1 4 10
Ik wil in staat zijn om uit te printen:
6
3
8
1
4
10
Ik heb een recursieve traverse functie geschreven:
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
Hoe ooit, dit drukt de waarden in een enkele array:
[1, 3, 4, 6, 8, 10]
Hoe kan ik het aan de manier waarop ik wil boven afdrukken?













