手动博客搬家: 本文发表于20170820 20:23:52, 原地址https://blog.csdn.net/suncongbo/article/details/77432667

线段树是一种将一个区间分成若干个子区间的数据结构。它是一棵二叉树,且满足点i的子节点编号分别为2i和2i+1 (叶子节点除外).
因此,在已知区间[1, n]的情况下,我们需要知道其最大的节点编号。
首先由线段树的性质可以证明线段树的深度不会超过\(ceil(\log_2 n)\)\(floor(\log_2 n)+1\),由此可以得到节点的最大编号不会超过\[\sum_{i=0}^n 2^{floor(\log_2 n)+1}=2^{floor(\log_2 n)+2}-1=2^{floor(\log_2 n)}\times4-1\le2^{\log_2 n}\times4-1=4n-1\]
即:线段树的数组下限为4*n-1.