Am o căutare copac clasă structură de date binare care deține nodurile care sunt obiecte în partea din clasa care se comporta ca un arbore binar de căutare.
Clasa este prea lung pentru a posta aici, dar, practic, acest lucru este modul în care funcționează. Dacă vreau să imprimați valoarea superioară a BST, aș spune
print (self._root)
Dacă aș fi vrut să se mute în partea stângă a arborelui (aceeași cu a merge la dreapta, pune doar dreapta în loc de stânga), aș spune
print (self._root._left)
Sper că acest lucru este suficient pentru a putea să mă ajute cu problema mea
Deci, pe problema mea, dacă am un BST cum ar fi:
6
/ \
3 8
/ \ \
1 4 10
Vreau să fie în măsură să imprime:
6
3
8
1
4
10
Am scris o funcție traversare recursiv:
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
Cum vreodată, acest lucru imprimă valorile într-o singură matrice:
[1, 3, 4, 6, 8, 10]
Cum pot să-l pentru a imprima în modul dorit de mai sus?













