-2
比方說,我有一個列表,像這樣:如何將平面列表轉換爲二進制樹
flat_list = [None, 10, 5, 15, None, None, 11, 22]
我知道的算法從一個坐落列表創建樹是這樣:
def create_tree_from_nested_list(node_list):
if not node_list:
return node_list
d, l, r = node_list
tree = BinaryTree(d)
tree.set_left(create_tree_from_nested_list(l))
tree.set_right(create_tree_from_nested_list(r))
return tree
的代碼的輸出上面會:
10
(l) 5
(r) 15
(l) 11
(r) 22
我將如何去創造,以平面列表的功能到樹木,使左者存儲在索引位置2*i
,正確的存儲在索引位置2 * i + 1
,並且輸出與嵌套列表的輸出相同。任何幫助表示讚賞。
對於圭多的愛!停止與吸氣和安裝人員。這不是Java。 –
無論如何,我真的不知道你的問題。什麼是預期的輸出?什麼是等效的嵌套列表? –
對不起,我應該澄清更好。輸出對於嵌套列表和平面列表應該是相同的。 –