高级数据结构学习笔记
文章平均质量分 82
Woolseyyy
这个作者很懒,什么都没留下…
展开
-
AVL Trees 学习笔记
AVL Trees 是一种特殊的二叉搜索树,它的作用是通过自我调整,让整棵树保持平衡,从而降低整棵树的高度,以提高查找效率。 本文将首先介绍AVL Trees,然后介绍它的实现方法,性能评估,最后分析题目。 Introduction特点通过自我调整使树趋于平衡,降低树的高度,提高搜索效率本质二叉搜索树变化相比于二叉搜索树,有两个变化,一是每个节点增加了BF属原创 2016-05-26 12:19:05 · 4368 阅读 · 4 评论 -
Splay Trees 学习笔记
Splays Trees 也是一种二叉搜索树,用于提高连续搜索的效率。Splay Trees 通过将被访问到的节点放于根,提升访问速度。 它与AVL Trees 的效果有所区别。AVL树通过使树balanced降低树的高度至logN,从而使得单次搜索的复杂度为O(logN)。而Splay Trees则通过每次将被访问到的节点置于根,使得m次连续搜索的复杂度为O(mlogN原创 2016-05-27 09:28:10 · 3893 阅读 · 0 评论 -
Amortized Analysis 摊还分析
Amortized Analysis摊还分析考察一个操作序列中所执行的所有操作的平均时间,来评价操作的代价。这个操作序列中也许某一操作的代价很高,但因为还有其他操作,所以这些操作的平均代价并没有那么高。 本文将首先将这种代价分析方式与最坏情况时间复杂度和平均时间复杂度两种方式进行区分,然后通过一篇其他人的博文说明摊还分析的三种方法,并对三种方法进行简要总结,最后对摊还分析方法进行实践。对比摊还分析原创 2016-05-27 15:58:22 · 3682 阅读 · 0 评论 -
Red-Black Trees 红黑树
红黑树是另一种自平衡二叉查找树。它通过较为复杂的调整,实现一种“局部平衡”。它的性能较为高效,应用广泛,被应用于linux内核进程调度,实现关联数组等。 本文将首先介绍红黑树的特点及其与AVL树的比较,然后说明红黑树的实现方式,评价红黑树的性能,最后对红黑树进行实践。红黑树的特点 本节将整体介绍红黑树的特点,目的是探究红黑树的特点和优异之处。完全不了解红黑树的读者可以先跳过本节,在阅读完红黑树原创 2016-05-29 09:40:22 · 1248 阅读 · 0 评论 -
B+树 习题解
B+树是一种n叉树,它将所有数据存在一个level中。B+ 树的特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。因此B+树被应用于数据库和操作系统的文件系统中。 B+树的理解没有红黑树这么复杂,本文将首先简要介绍B+树,然后分析B+树的先关题目。本文重点是最后一部分。原创 2016-06-01 17:33:18 · 6198 阅读 · 1 评论 -
Inverted File Index 文件倒排索引 课件理解与习题解
倒排索引是一种文件搜索的方式,它是搜索引擎实现的基础。它将文件内容中的词建立成索引,以此为依据搜索符合条件的文件。本文将根据高级数据结构课程课件简要介绍文件倒排索引的建立及其特点,然后重点进行pta中的题目分析。原创 2016-06-01 23:12:15 · 5573 阅读 · 0 评论 -
Leftist Heaps 习题解
Leftist Heaps (最左堆)是一种用于快速合并的数据结构,是堆的一种变种。它的合并操作只需花费O(logN)的代价。 对于二叉堆来说,两个堆合并是非常昂贵的操作,这将耗费O(N)的时间,与重新建堆的时间相同。为了应对优先队列的Merge操作,我们从本篇开始将介绍包括最左堆(又叫左式堆)在内的三种数据结构。 本篇将介绍相关题目。 证明 二叉堆的合并需要耗费O(N)的代价 二叉原创 2016-06-02 23:17:06 · 5641 阅读 · 0 评论 -
Skew Heaps 习题解
本文介绍另一种优化堆合并操作的数据结构。Skew Heaps 是左式堆的简化版,它没有Npl属性,每次合并后无条件交换左右子树。这样虽然不能严格保证合并操作的时间复杂度是O(logN),但摊还代价是O(logN)。本文将进行摊还分析的证明,并给出相关题目的分析。摊还分析题目分析 The result of inserting keys 1 to 2k−12^k -1 for any k>4 in原创 2016-06-04 22:00:17 · 5076 阅读 · 0 评论 -
什么是P问题、NP问题和NPC问题
转载自Matrix67这或许是众多OIer最大的误区之一。 你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲转载 2016-06-12 15:31:24 · 710 阅读 · 0 评论