码迷,mamicode.com
首页 > 其他好文 > 详细

线段树为什么开4倍空间?

时间:2019-10-20 15:58:18      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:inf   class   二次   为什么   log   mic   image   png   一点   

突然想到,满二叉树不是才2n-1个节点么,为什么开4倍空间??

因为线段树和二叉树是有一点区别的,线段树结点存的是区间,二叉树存的是点,所以线段树会出现许多结点空着的情况 见下图

技术图片

所以,对于n个点,比n大的最小二次幂即为线段树最底层的结点数,所以所有结点数为 \[ 2^{\lfloor\log_2n\rfloor+1}*2-1 \]
即为4n

线段树为什么开4倍空间?

标签:inf   class   二次   为什么   log   mic   image   png   一点   

原文地址:https://www.cnblogs.com/Zeronera/p/11707603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!