构建分段树时,为什么它需要是完整的二叉树?我拿了一些示例输入数组,当它们完成二进制树时,我在范围结果中获得相同的最小值。那么,当完整的二叉树也给出相同的结果时,为什么要使它成为完整的二叉树。 输入数组-1,3,5,7,9,11
答案 0 :(得分:1)
例如阵列1,3,5,7,9,11的段树的数组表示可以存储为(假设范围查询找到最小元素)
抱歉懒惰的图表。
树节点的数量计算为pow * 2-1,其中pow = 2的最小幂大于或等于n。
显然,上面的分段树表示是一个完整的二叉树,而不是一个完整的二叉树。
您可以共享您的段树数组表示,如何将其存储为完整的二叉树?
答案 1 :(得分:1)