动态序列与动态树问题——浅谈几种常用数据..pdf

动态序列与动态树问题——浅谈几种常用数据..pdf

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态序列与动态树问题——浅谈几种常用数据.

动态序列与动态树问题——浅谈几种常用数据 结构 天津南开中学 莫凡 2014 年 6 月 5 日 要 动态序列问题是指给定一个序列,在其上执行一系列在线操作(例 如一段数的修改、某一区间的反转或某一区间内的最大值查询等等), 是算法竞赛中的常见问题,在生产生活中也具有较强的实用价值。本 文重点通过介绍通过几种常用的平衡二叉树型数据结构解决动态序列 问题。动态树问题是动态序列问题的延伸,支持一棵树(或是一片森 林)的点上、边上信息的维护以及形态的变换。由于动态树问题将维护 的对象由序列拓展成一棵树,故其在图论中具有重要的实用价值。由 于时间仓促,加上作者水平过弱,不足之处请多多指正。 本文涉及的数据结构虽然都非常简单,但是并不适合初学算法与数 据结构的读者,阅读这篇文章的前提条件只有一个:所有涉及的问题 你都可以用暴力实现 作者邮箱:w007878@ 1 Index I 几种常用的数据结构 4 1 线段树 4 1.1 线段树概况 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 线段树的修改与信息合并 . . . . . . . . . . . . . . . . . . . . 5 1.3 线段树的具体实现与编程细节 . . . . . . . . . . . . . . . . . . 6 1.4 另一种实现方式 . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5 适用范围 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 伸展树 9 2.1 平衡树的旋转机制 . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 伸展——Splay 的基本操作. . . . . . . . . . . . . . . . . . . . 9 2.3 懒标记、区间查询和修改 . . . . . . . . . . . . . . . . . . . . 10 2.4 代码实现(C++ ) . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 优势与弊端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6 复杂度分析 . . . . . . . . . . .

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档