首页 > 代码库 > 北大ACM暑期培训(1)——线段树,树状数组
北大ACM暑期培训(1)——线段树,树状数组
本文出自:http://blog.csdn.net/svitter
今天ACM暑期实训开始了,今天讲述的内容是:
7.14 数据结构(一): 线段树,树状数组,二维线段树。
线段树:invertal tree (称为区间树更加合适)
作用:快速区间查询,用于解决区间统计的有关问题。
重点:同层节点不重叠。
每层最多有两个终止节点。
更新和进行区间分解的时间复杂度均为log(n);
方法:调用会多次使用递归更新插入查询;
空间:开空间的时候,一般情况下开4n大小,2*2log[n] - 1 <= 4n;
不同的情况可能MLE,
具体的资料可以网上查询。
参考题目:POJ3264——Balanced Lineup(线段树)
树状数组:
作用:与线段树相同,快速求出任意区间的和。但是相对于线段树,更加容易编写,速度也有优势。
单个元素修改,反复求区间。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。