线段树空间开4倍的原因

线段树空间开4倍的原因

如果证明有错欢迎指出。

对于长为 n n n 的序列,显然以其构建的线段树有 n n n 个叶子节点

此时线段树的高度为 k = log 2 n + 1 k=leftlceil{log_2 n} ight ceil+1 k=log2n+1 (第一层的高度为 1 1 1 )

通过等比数列求和公式
S n = { n a 1 , q = 1 a 1 ( 1 q n ) 1 q = a 1 a n q 1 q , q ≠ 1 egin{aligned} S_n= egin{cases} na_1,&q=1 \\ dfrac{a_1left(1-q^n ight)}{1-q} = dfrac{a_1-a_nq}{1-q} ,&q e 1 end{cases} end{aligned} Sn=na1,1qa1(1qn)=1qa1anq,q=1q=1
可知

至多有 1 × ( 1 2 k ) 1 2 = 2 k 1 dfrac{1 imes(1-2^k)}{1-2} = 2^k-1 121×(12k)=2k1 个结点

即有 2 log 2 n + 1 1 2^{leftlceil{log_2 n} ight ceil+1}-1 2log2n+11 个结点

根据
x x = { 0 , if x ∈ Z , 1 , if x Z . egin{aligned} &leftlceil{x} ight ceil- leftlfloor{x} ight floor=egin{cases} 0,& ext{if } x in Z,\\ 1,& ext{if }x otin Z. end{cases}end{aligned} xx=0,1,ifx∈Z,ifx∈/Z.
可知

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值