我有一个二叉搜索树数据结构类,它保存节点,这些节点就像类似二叉搜索树的类一样。
这个课程太长了,无法发布,但基本上这就是它的工作原理。 如果我想打印bst的最高值,我会说
print (self._root)
如果我想移动到树的左侧(与右侧相同,只是向右而不是向左),我会说
print (self._root._left)
我希望这足以让你解决我的问题
所以对我的问题,如果我有一个像:
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]
如何让它以我想要的方式打印?