![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法分析
u011085626
这个作者很懒,什么都没留下…
展开
-
《数据结构与算法分析c++描述》读书笔记四——伸展树、b+树
伸展树: 对一个树任意一个节点的一次访问会使得该节点经过一系列的旋转移到根节点的位置。这样某次操作出现最坏情况访问时间为O(N),但接下来的一次访问时间将变成O(1);这样证明了虽然伸展树不排除某单次操作a花费时间是O(N),但是这次访问使得树的结构做了一系列的旋转,能减少下次操作a的时间,再引入”八二原则“(也就是说80%的人只会用到20%的数据),那么通过伸展树的多次旋转会使得常原创 2015-07-01 09:49:39 · 691 阅读 · 0 评论 -
《数据结构与算法分析c++描述》读书笔记三——AVL树
AVL树:对于每一个节点都要满足其左右子树的高度差不得大于1的二叉树(平衡条件)。当经过插入操作或者删除操作后破坏了树的平衡性时,要经过调整恢复平衡性后才认为一次插入或者删除操作完成。这样的调整总是可以通过一次简单的修正完成,称之为旋转。 插入点a后,引起的不平衡情况有四种,下图分别给出了1~4的图形示意;: 1) 对a的左儿子的左子树进行了一次插入;原创 2015-06-30 15:31:54 · 586 阅读 · 0 评论 -
《数据结构与算法分析c++描述》读书笔记五——优先队列(堆)
如果对一个队列,里面的每一个元素的优先级别都不一样,就需要按照其优先:操作系统的调度程序,原创 2015-07-06 10:37:33 · 472 阅读 · 0 评论 -
《数据结构与算法分析c++描述》读书笔记二——二叉树
学习数据结构与算法的参考书是《数据结构与算法分析c++描述》一书。 首先看的是最基本的ADT(抽象数据结构)表、栈、队列。 1、表:是一种有限且有序的序列。实现的方式有两种:数组(所有操作都可以用数组来实现,查找功能、在表尾插入数据删除数据很方便);链表(每个数据不必存在连续存储,插入、删除数据很方便)。原创 2015-06-24 20:14:43 · 629 阅读 · 0 评论