[英]Printing levels of Binary Search Tree
我有一個二進制搜索樹數據結構類,該類在像二進制搜索樹一樣的類中保存了作為對象的節點。
該課程太長了,無法在此處發布,但是基本上這是它的工作方式。 如果我想打印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]
我怎樣才能以上面想要的方式打印它?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.