- 0
- 0
- 约2.64千字
- 约 20页
- 2022-07-22 发布于北京
- 举报
树状数组
线段树的分析
首先我们得知道一个问题,那就是线段树的作用并不只是用来存储线段的,也可以存储点的值等等.
对于静态的线段树,空间上需要的数组有:当前结点的数据值,左儿子编号,右儿子编号.至少这么三个数组.
而在时间上虽然是NlogN的复杂度,但是系数很大.
实现起来的时候编程复杂度大,空间复杂度大,时间效率也不是很理想.
线段树的分析
那么是否有更好的解决方法呢?
有!
那就是树状数组!
线段树的分析
先看一个例题:
数列操作:
给定一个初始值都为0的序列,动态地修改一些位置上的数字,加上一个数,减去一个数,或者乘上一个数,然后动态地提出问题,问题的形式是求出一段数字的和.
线段树的分析
如果直接做的话,修改的复杂度是O(1),询问的复杂度是O(N),M次询问的复杂度是M*N.M,N的范围可以有100000以上
线段树的分析
用线段树可以这样解:
若要维护的序列范围是0..5,先构造下面的一棵线段树:
线段树的分析
可以看出,这棵树的构造用二分便可以实现.复杂度是2*N.
每个结点用数组a来表示该结点所表示范围内的数据之和.
修改一个位置上数字的值,就是修改一个叶子结点的值,而当程序由叶子结点返回根节点的同时顺便修改掉路径上的结点的a数组的值.
对于询问的回答,可以直接查找i..j范围内的值,遇到分叉时就兵分两路,最后在合起来.也可以先找出0..i-1的值和0.
您可能关注的文档
最近下载
- 第二单元达标练习(单元测试)2025-2026学年二年级语文下册统编版(含答案).docx VIP
- 焚烧炉OG200CS.pdf
- 2025年演出经纪行业自律机制的国际化比较与借鉴专题试卷及解析.pdf VIP
- 2025年互联网营销师视频营销全流程模拟专题试卷及解析.pdf VIP
- 2025年演出经纪人募捐义演的市场准入与审批专题试卷及解析.pdf VIP
- 基于图神经网络的文本知识图谱动态构建与语义推断机制分析.pdf VIP
- 2025年互联网营销师短视频营销职业规划专题试卷及解析.pdf VIP
- Eversolo艾索洛音频解码耳放一体机DAC-Z10用户手册.pdf
- 仰拱及填充施工质量保证措施.docx VIP
- 原调降B正谱三月桃花心中开声乐正谱五线谱钢琴伴奏谱乐谱曲谱弹唱谱高清.pdf VIP
原创力文档

文档评论(0)