2016-11-11 29 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类。