段树是一种有效的,但并不总是完全有用的日期结构。例如:如果我们有一个长度为8的数组,它将处理1-2、3-4、5-6、7-8、1-4、5-8和1-8段。但是,许多数据将被排除在外,如2-3、2-4、4-5、6-7等。是否有一个有效的数据结构来处理所有输入数据段?
发布于 2018-04-21 18:42:09
不这不是真的。它实际上“小心”每隔一段时间。
例如,在上面的段树中,如果需要对范围4、7执行查询,它将转到左子树,如0、4 -> 3、4 -> 4、4和右子树5、9 -> 5、7,然后聚合4、4和5、7的结果,并将结果传递到根。
我建议用笔和纸来模拟,或者使用调试器来查看递归调用下发生了什么。祝好运!
https://stackoverflow.com/questions/49959013
复制相似问题