摘要: 一、定义 拓扑排序:对有向无环图的顶点的一种排序,它使得如果存在一条从vi到vj的路径,那么在排序中vj出现在vi的后面。 对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。 示例:在学习课程图中,存 阅读全文
posted @ 2018-09-02 23:16 GGBeng 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 一、最大堆的定义 最大堆是一棵完全二叉树,而且每个结点的值都不小于其孩子结点的值。 二、选择数组作为最大堆的内存表现形式 由于最大堆是一棵完全二叉树,所以我们使用数组的形式来存储最大堆的值,并从1号单元开始存储。 假设树的节点个数为n,以1为下标开始编号,直到n结束。对于下标为 i 的结点,其父结点 阅读全文
posted @ 2018-09-02 21:31 GGBeng 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 一、B+树是应文件系统所需而产生的一种B树的变形树 1. 定义(使用阶数m来定义) 所有的叶子节点包含了全部的关键字以及指向含有这些关键字记录的指针,并且: 同一叶子节点中的关键字按大小顺序排列 相邻的叶子节点顺序链接(相当于是构成了一个顺序链表) 所有叶子节点在同一层 2. 和B树的区别 对于非终 阅读全文
posted @ 2018-09-02 17:13 GGBeng 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 一、B 树是一种多叉平衡查找树 相较于二叉结构的红黑树,B 树是多叉结构,所以在元素数量非常多的情况下,B 树的高度不会像二叉树那么大,从而保证查询效率。 一棵含 n 个结点的 B 树的高度 h = O(logtn),其中 t 是 B 树的最小度数。 提出多叉平衡查找树的思维历程:查询效率要更高 > 阅读全文
posted @ 2018-09-02 11:12 GGBeng 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 二叉查找树因可能退化成链表,故其性能最差。平衡二叉树和红黑树是带有平衡条件的二叉查找树,故它们的效率也较高。 平衡二叉树的插入/删除操作带来的旋转操作可能会达到logn次,而红黑树的插入/删除操作带来的旋转操作最多为2/3次。 所以说,当红黑树出现的时候,平衡二叉树就只能出现在博物馆里了。即红黑树是 阅读全文
posted @ 2018-09-02 09:07 GGBeng 阅读(6584) 评论(0) 推荐(1) 编辑
摘要: 一、红黑树是一种弱平衡二叉树 定义:红黑树是一种特殊的二叉查找树,在其结点结构中增加一个存储位表示结点的颜色。 重要性质:通过遵循对结点着色的某种规则,对于所有从根结点到叶子结点的路径,红黑树确保没有一条路径会比其他路径长出两倍。 二、红黑树的平衡条件 相对于平衡二叉树的平衡条件,该平衡条件较为宽松 阅读全文
posted @ 2018-09-02 08:49 GGBeng 阅读(2698) 评论(0) 推荐(0) 编辑