摘要: 图的遍历算法 上一篇我们了解了图的基本概念、术语以及存储结构,还对邻接表结构进行了模拟实现。本篇我们来了解一下图的遍历,和树的遍历类似,从图的某一顶点出发访问图中其余顶点,并且使每一个顶点仅被访问一次,这一过程就叫做图的遍历(Traversing Graph)。如果只访问图的顶点而不关注边的信息,那 阅读全文
posted @ 2019-05-11 19:32 luanxm 阅读(7767) 评论(0) 推荐(0) 编辑
摘要: <!--done--> 图的基本概念 线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。图(Graph)是一种复杂的非线性结构,在图结构中,每个元素都可以有零个或多个前驱,也可以有零个或多个后继,也就是说,元素之间的关系是任意的。现实生活中 阅读全文
posted @ 2019-05-11 15:07 luanxm 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 斐波那契堆的介绍 斐波那契堆(Fibonacci heap)是一种可合并堆,可用于实现合并优先队列。它比二项堆具有更好的平摊分析性能,它的合并操作的时间复杂度是O(1)。与二项堆一样,它也是由一组堆最小有序树组成,并且是一种可合并堆。与二项堆不同的是,斐波那契堆中的树不一定是二项树;而且二项堆中的树 阅读全文
posted @ 2019-05-11 11:10 luanxm 阅读(5687) 评论(1) 推荐(2) 编辑
摘要: 二项树的介绍 二项树的定义 二项堆是二项树的集合。在了解二项堆之前,先对二项树进行介绍。 二项树是一种递归定义的有序树。它的递归定义如下:(01) 二项树B0只有一个结点;(02) 二项树Bk由两棵二项树B(k-1)组成的,其中一棵树是另一棵树根的最左孩子。如下图所示: 上图的B0、B1、B2、B3 阅读全文
posted @ 2019-05-11 10:42 luanxm 阅读(1337) 评论(0) 推荐(1) 编辑