1
我有一个问题,试图用正确的数据填充已知数量的节点的完美二叉树数据。基本上,我有一个创建此实现:完美的二进制树,正确的数据
7
5 6
1 2 3 4
不过,我希望建立一个树是这样的:
7
3 6
1 2 4 5
我对插入节点树如下:当前实现。
def _add_node(self, val, ref = None):
# reference to root of tree
ref = self.root if ref is None else ref
if ref.right is None:
ref.right = Node(val, ref)
return
elif ref.left is None:
ref.left = Node(val, ref)
return
else:
parent = (val - 1)/2
if parent % 2 == 0:
self._add_node(val, ref.left)
else:
self._add_node(val, ref.right)
鉴于x
节点创建使用range(x)
并呼吁add_node(i)
每次迭代树。这工作正常,除了它的顺序是不正确的。
对于我的生活,我找不到一个简单的方法来设置值来代表底部布局而不是顶部。谁能帮我吗?
对不起。当我回答这个问题时,我没有评论能力。 – Jay