1
我有一個二叉搜索樹數據結構類,它保存的是類似二叉查找樹的類中的對象。二叉搜索樹的打印級別
這個類太長了,不能在這裏發佈,但基本上這是它的工作原理。 如果我想打印BST的頂值,我會說
print (self._root)
如果我想移動到樹(同樣與去正確的左側,只是把右而不是左),我會說
print (self._root._left)
我希望這是足以讓你能幫助我與我的問題
所以到了我的問題,如果我有一個像BST:
6
/\
3 8
/\ \
1 4 10
我希望能夠打印出:
6
3
8
1
4
10
我寫了一個遞歸遍歷功能:
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
如何過,這個打印在單個陣列中的值:
[1, 3, 4, 6, 8, 10]
我怎樣才能得到它打印我想要的方式?
可能的重複[打印BFS(二進制樹)級別順序與\ _specific格式\ _](http://stackoverflow.com/questions/1894846/printing-bfs-binary-tree-in-level-order-與特定格式化) – lennart