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