Mam binarne drzewo poszukiwań klasy struktury danych, która przechowuje węzły, które są obiekty w stronę klasy, który działa jak wyszukiwaniu binarnym drzewie.
Klasa jest zbyt długi, aby pisać tutaj, ale w zasadzie jest to w jaki sposób to działa. Jeśli chcę wydrukować górną wartość BST, powiedziałbym,
print (self._root)
Gdybym chciał przenieść się z lewej strony drzewa (tak samo z iść na prawo, wystarczy umieścić w prawo zamiast w lewo), powiedziałbym,
print (self._root._left)
Mam nadzieję, że to wystarczy, więc możesz mi pomóc z moim problemem
Więc na mój problem, jeśli mam BST, takie jak:
6
/ \
3 8
/ \ \
1 4 10
Chcę, aby móc wydrukować:
6
3
8
1
4
10
Pisałem rekurencyjnej funkcji przemieszczenia:
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
Jak zawsze, to drukuje wartości w jednej tablicy:
[1, 3, 4, 6, 8, 10]
Jak mogę je wydrukować sposób chcę powyżej?













