标签:term 否则 一个 image 一段 满二叉树 线段 序列 http
线段树是一棵二叉树,线段是上每个结点对应的是序列的一段区间。如图(以下图片为引用)
容易发现,根节点对应的是整个区间[0,n-1].若一个结点对应的区间为[l,r],当l=r时,它是一个叶结点,没有左右儿子;否则他一定有两个儿子,令mid=(l+r)/2,则左儿子对应的区间为[l,mid],右儿子对应的区间为[mid+1.r]。
从这里也可以看出,最后一层有n个结点,倒数第二层有n/2个结点,以此类推,因此线段树中的结点数是n+n/2+n/4+…+1=2n-1。
令线段树的高度(层数)为h,不难看出h只有O(logn)级别。当我们需要维护的序列长度为2的整数次幂时,线段树是一棵满二叉树。其他情况下,线段树前h-1层是满二叉树,最后一层不满。
标签:term 否则 一个 image 一段 满二叉树 线段 序列 http
原文地址:https://www.cnblogs.com/ycy123456/p/13391441.html