2016-11-11 127 views
-3

例如,如果我有數組{1,2,3,4,5,6},如何使用該數組構建完整的二叉樹?使用數組構建一個完整的二叉樹

在創建樹,它看起來像:

        1 
          / \ 
           2  3 
          /\ /
          4 5 6 

該陣列可以是數字的任何序列,這個序列只是一個例子。我知道如何遍歷樹的順序,但我不確定用這種方法創建它的邏輯。

+0

試試這個解決方案:http://stackoverflow.com/questions/8876406/binarytree-implementation-in-java它對你有幫助嗎? –

+0

你有什麼嘗試?我們不在這裏爲你做這項工作。我會建議你谷歌「如何建立一棵二叉樹」,並從那裏開始 – BlackHatSamurai

回答

0

所以你可以考慮在每個孩子都在2 * n和2 * n + 1的數組插槽中實現這一點,其中n是父級的插槽。例如。如果在陣列插槽「4」中有「1」,則將其子2和3設置在插槽「8」和「9」中。這是非常低效的空間,所以我會考慮使用通過指針連接的Node類。