红黑树(RBT) 一、红黑树的相关概念RBT就是二叉排序树的一种优化(满足基本的左子树结点值≤根结点值≤右子树结点值)RBT满足的要求:左根右,根叶黑,不红红,黑路同具体含义: 代码定义:【概念】结点的黑高BH:从某结点出发(不含该结点)到达任一空结点的路径上黑结点总数如:性质:二、红黑树的查找与BST、AVL相同,从根出发,左小右大,若查找到一个空叶结点,则查找失败三、红黑树的插入...
基数排序 简介:不基于比较和移动进行排序,而基于关键字各位的大小进行排序。通常采用的是链式基数排序。基数排序每趟并不产生有序区,即在最后一趟排序结束前所有元素并不一定归位了。大体思想:手工模拟实现基数排序的栗子:...
手工求解拓扑排序的方法 对AOE网进行拓扑排序的常用算法:(AOV网:若用DAG图表示一个工程,其顶点表示活动,将这种有向图称为顶点表示活动的网络,记为AOV网)每一轮选择一个入度为0的顶点并输出,然后删除该结点和所有以它为起点的有向边栗子:...
图的相关概念及术语 一、图的定义二、相关术语1.有向图2.无向图3.简单图(现阶段主要研究它)和多重图4.完全图5.子图6.连通、连通图和连通分量(针对无向图而言)7.强连通图、强连通分量(针对有向图而言)8.生成树、生成森林9.顶点的度、入度和出度10.路径、路径长度和回路...
插入类排序 一、直接插入排序默认研究递增有序序列基本思想:每趟将一个待排序的关键字按照其值的大小插入到已经排好的部分有序序列的适当位置上,直到所有待排关键字都被插入到有序序列中为止。譬如下面这个过程,前面都是已经排好序的,6该如何进行插入排序呢?完整示例:详细过程描述:二、折半插入排序基本思路:难点:如何在R[low…high]中查找插入R[i]的位置?注意:同直接插入排序,折半插入排序每趟产生的有序区并不一定是全局有序的。栗子:一趟排序的详细过程...
静态查找表(线性表的查找) 有关折半查找判定树的考法栗子:对于给定11个数据元素的有序表: (2,3,10,15,20,25,28,29,30,35,40)采用二分查找,试问:(1)若查找给定值为20的元素,将依次与表中哪些元素比较?(2)若查找给定值为26的元素,将依次与哪些元素比较?(3)假设查找表中每个元素的概率相同,求查找成功时的平均查找长度和查找不成功时的平均查找长度。(1)(2)★这里可以记一个小结论秒杀:(3)(4)Note:关于结点个数选取的问题...
动态查找表(树表的查找) 一、二叉排序树(BST)●关于BST平均查找长度的计算:掌握BST的删除操作的手工实现:(1)删除结点是叶子结点:直接删除(2)删除结点只有一棵左子树或右子树:将其孩子放到自己现在的位置 栗子:(3)删除的结点p有左子树,也有右子树 方法一:p与中序直接前驱交换,再删除p(通常用此方法) 方法二:p与中序直接后继交换,再删除p在中序(LPR)线索二叉树的遍历那里,介绍过这样一个规律,回忆一下: p结点的中序直接前驱就是其左子树中最右下的结点(也就是值最大的那个
哈夫曼树与哈夫曼编码的考点 一、哈夫曼树1.定义带权路径长度WPL最小的二叉树成为哈夫曼树(最优二叉树)note:哈夫曼树并不唯一,但WPL一定是相同的2.构造哈夫曼树基本原则:权值越大的叶子结点越靠近根结点 权值越小的叶子结点越远离根结点构造过程:特点:栗子:设有7个叶子结点,它们的权集w
深度优先与广度优先的思想 DFS与BFS的区别:图G的领接表存储已给出,要求从顶点1出发,分别得到对图G的进行深度优先遍历和广度优先遍历所得到的顶点序列根据题目所给的领接表顺序来确定访问的路径的顺序:1.深度遍历得到的序列2.广度遍历得到的序列...