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