码迷,mamicode.com
首页 > 编程语言 > 详细

线段树的数组大小下限及证明

时间:2018-12-26 23:04:12      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:inline   结构   lin   href   play   net   span   深度   最大   

手动博客搬家: 本文发表于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.

线段树的数组大小下限及证明

标签:inline   结构   lin   href   play   net   span   深度   最大   

原文地址:https://www.cnblogs.com/suncongbo/p/10182317.html

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