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

【学习笔记】线段树的数组大小下限及证明相关推荐

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

    线段树的数组大小下限及证明 手动博客搬家: 本文发表于20170820 20:23:52, 原地址https://blog.csdn.net/suncongbo/article/details/774 ...

  2. 《数据结构、算法与应用 —— C++语言描述》学习笔记 — 竞赛树

    <数据结构.算法与应用 -- C++语言描述>学习笔记 - 竞赛树 一.赢者树 二.二叉树的数组描述(补充) 1.声明 2.实现 三.赢者树 1.抽象数据类型 2.赢者树的表示 3.声明 ...

  3. PointNet学习笔记(二)——支撑材料(理论证明)

    PointNet学习笔记(二)--支撑材料(理论证明) 这一部分记录了PointNet中两个定理的证明和博主的学习笔记.具体的定理可以参见论文学习笔记,这里仅给出证明.更新于2018.10.12. 文 ...

  4. [学习笔记]可持久化数据结构——数组、并查集、平衡树、Trie树

    可持久化:支持查询历史版本和在历史版本上修改 可持久化数组 主席树做即可. [模板]可持久化数组(可持久化线段树/平衡树) 可持久化并查集 可持久化并查集 主席树做即可. 要按秩合并.(路径压缩每次建 ...

  5. JavaScript学习笔记(三)——数组

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  6. 【Java学习笔记之五】java数组详解

    数组 概念 同一种类型数据的集合.其实数组就是一个容器. 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度] ...

  7. JavaScript学习笔记(六)--数组

    数组初始化 我们都知道,数组是用于保存多个值的集合,在数组中,值被称为元素,值可以是任意的数据类型.在Javascript中,创建数组通常有两种方式:字面量和构造函数. 字面量 数组的元素可以是任意的 ...

  8. Go 学习笔记(10)— 数组定义、数组声明、数组初始化、访问数组、数组相等、向函数传递数组

    1. 数组定义 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 2. 声明数组 Go 语言数组声明需要指定元素类型及元素个数,语 ...

  9. Java学习笔记2.6.2 数组 - 二维数组

    文章目录 零.本讲学习目标 一.引入多维数组的场景 二.二维数组的定义 (一)指定二维数组行数与列数 (二)指定二维数组行数,不指定列数 (三)直接使用嵌套大括号"{}"静态初始化 ...

最新文章

  1. 二维“玄”如何“抖动”出三维世界?
  2. asp.net core 创建允许跨域请求的api, cors.
  3. Jekyll博客统计访问量,阅读量工具总结--LeanCloud,不蒜子,Valine,Google Analytics
  4. salt-api timeout 执行超时问题解决
  5. Python基础语法06--文件
  6. python3 编写守护进程程序思路
  7. git push 推送大文件失败的处理办法
  8. JavaFX 中的像素、分辨率与缩放比
  9. 安卓APP_ 布局(8) —— 基于 RecyclerView 的 ViewPager2翻页
  10. Python适合自己的IDE才是最好的IDE
  11. SQL 创建随机时间的函数
  12. qml 信号槽第二次才响应_QML中各种代理的用法
  13. Windows单机之Weblogic 12c受管服务器配置
  14. manjaro中文输入法已安装但切换不了解决方法
  15. 大数据流水线系统PiFlow v0.5
  16. 【es6学习】Babel 转码器详解
  17. 162Echarts - 桑基图(Sankey Diagram)
  18. 〖Python全栈白宝书-免费版⑲〗- 字符串的编码格式
  19. 【强化学习】First-visit MC prediction
  20. 常见的User-Agent及免费代理IP网站

热门文章

  1. PIC单片机入门_8位AD转换器
  2. GPS服务端解析程序编写日记之--vs2010中多种语言开发及调试的若干注意事项
  3. 结合泛型与模板的STL.NET
  4. 判断事件源的另一方法
  5. Linux的Page Cache
  6. 杂项相关工具的使用方法(边刷题边更新...)
  7. Java小游戏 —— 德州扑克
  8. shell逐行读取每一列
  9. 为自增(++)自减(--)运算符正名
  10. android开发 Gradle多渠道打包以及集成360加固