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