使用数组构建完整的二叉树

时间:2016-11-11 20:40:29

标签: java arrays tree binary-tree complete

例如,如果我有数组:{1,2,3,4,5,6},如何使用该数组构建完整的二叉树?

创建树时,它看起来像:

                                 1
                               /   \
                              2     3
                             / \   / 
                            4   5 6  

数组可以是任何数字序列,这个序列只是一个例子。我知道如何按顺序遍历树,但我不确定以这种方式创建它的逻辑。

1 个答案:

答案 0 :(得分:0)

所以你可以考虑实现这个,其中每个孩子都在2 * n和2 * n + 1的数组插槽中,其中n是父插槽。例如。如果你有" 1"在数组插槽" 4"中,然后将其子节点2和3设置在插槽中" 8"和" 9"。这是非常低效的空间,所以我会看一下使用通过指针连接的Node类。