- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
随机平衡二叉查找树Treap的分析与应用-BYVoid
随机平衡二叉查找树Treap 的分析与应用 清华大学计算机系 郭家宝
随机平衡二叉查找树 Treap 的
分析与应用
郭家宝 2010011267
清华大学计算机科学与技术系 02 班 北京 100084
摘要
Treap 是一种实现简洁,时空高效的平衡二叉查找树。本文分析了 Treap 的平衡
性,详述了 Treap 的构造方法,与其他各种平衡树进行了比较,并介绍了 Treap
在算法设计中的应用。
关键词
Treap 二叉查找树 平衡树 数据结构 动态统计
1 / 37
随机平衡二叉查找树Treap 的分析与应用 清华大学计算机系 郭家宝
引言
本文写作的目的
Treap 作为被广泛应用的一种平衡树数据结构,一直以来许多人都在研究或想要研究。但笔
者经历多番查找资料,很难找到一个关于 Treap 的系统性、总结性而又简明易懂的论文。本
文想通过对 Treap 的介绍,起到抛砖引玉的作用。欢迎大家指正和批评。
阅读本文所需掌握的预备知识
基础的数学知识
计算机程序设计
基本算法
基本数据结构
目录
一、序言 3
1. 我们为什么要排序 3
2. 基于比较的排序 3
3. 二叉查找树 4
二、二叉查找树 4
1. 二叉查找树的定义、遍历与查找 4
2. 二叉查找树的插入与删除 7
3. 二叉查找树的平衡性问题讨论 10
三、 Treap 11
1. 什么 Treap 11
2. 如何构建 Treap 12
3. 为什么要用 Treap 19
4. Treap 的更多操作与技巧 21
四、 Treap 的应用 29
1. Treap 在动态统计问题中的应用 29
2. Treap 在搜索问题中的应用 32
3. Treap 在动态规划问题中的应用 32
4. Treap 与其他数据结构的相关应用 34
五、总结 36
2 / 37
随机平衡二叉查找树Treap 的分析与应用 清华大学计算机系 郭家宝
六、参考资料 36
一、序言
1. 我们为什么要排序
Treap 是用来排序(Sort)的一种数据结构(Data Structure)。在讨论 Treap 之前,让我们先讨论
一下,我们为什么要排序?当我们看到世间万物的时候,是否想探究其内在的规律,是否想
了解自然的顺序?也许你认为,排序当然是必要的,我给出我认为需要排序的三点理由:
1. 有序的事物符合人类大脑结构
你可以轻易地一眼看清少于 6 个物体,更多的话就需要数了。在有序的事物中,你可以
很快得找到需要的信息,因为有序的事物符合人类大脑的认识规律,内在的排序不
人类的本能。
2. 有序的事物符合数学规律
有序的元素之间有着递增或递减的单调性。对于探究元素的内在联系,排序是极其重要
的。
3. 打乱顺序是容易的,建立
文档评论(0)