线段树复杂度分析

线段树复杂度分析_第1张图片

 

 

 

 

为什么每一层最多未访问的点是4个:

 

因为我们要访问的一段区间是连续的,所以他在一层内的点的话应该也是连续的,

然后这样最左边或者最右边的话有可能就是那个区间那个点只覆盖了一半,但中间的那个点肯定都是会完全覆盖掉的。

那如果你这个一层里面超过了五个点的话,那肯定中间是有至少三个点的,这样肯定就会有两个相邻的点他们是来源于同一个这个父亲节点,

而且他们两个都是被完全覆盖的,这样的话,他们的父亲节点其实也是被完全覆盖的,那么在他们父亲的时候呢,其实就根本就不会递归下来了,

所以那两个点是不可能被访问到的,这样的话只是每一层就,就是说,没有被完全覆盖掉的点就只有两个。

因为完全覆盖了点他也不会递归,所以没有被完全的点只可能是端点上的那两个,然后那两个会递归下去,这样最多只有四个节点,

然后到下一层也是一样的,就最多只有两个节点他是没有被完全覆盖到,所以每一层都只有两个这样的节点,那么他递归下一层的话,

最多也只有四个点未被访问。

(tzj)

你可能感兴趣的:(线段树复杂度分析)