段树不会处理输入数据的所有段。有效率的日期结构吗?

时间:2018-04-21 18:34:04

标签: data-structures segment-tree

细分树是一种高效但并非总是完全有用的日期结构。例如:如果我们有一个长度为8的数组,它将处理1-2,3-4,5-6,7-8,1-4,5-8和1-8段。但许多人将被遗漏,例如2-3,2-4,4-5,6-7等。是否有一个有效的数据结构来处理所有输入数据段?

1 个答案:

答案 0 :(得分:2)

不,这不是真的。它实际上“照顾”每个间隔。

Segment Tree

例如,在上面的分段树中,如果你需要对范围[4,7]执行查询,它将转到左子树,如[0,4] - > [3,4] - > [4,4]和右子树[5,9] - > [5,7]然后汇总[4,4]和[5,7]的结果,并将结果传递给root。

我建议使用笔和纸进行模拟,或者使用调试器来查看递归调用的内容。祝你好运!