摘要: 数据结构和算法系列17 图 阅读目录一,图的定义二,图相关的概念和术语三,图的创建和遍历四,最小生成树和最短路径五,算法实现这一篇我们要总结的是图(Graph),图可能比我们之前学习的线性结构和树形结构都要复杂,不过没有关系,我们一点一点地来总结... 阅读全文
posted @ 2017-08-09 21:53 ChuningGao 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 一、基本术语图:由有穷、非空点集和边集合组成,简写成G(V,E);Vertex:图中的顶点;无向图:图中每条边都没有方向;有向图:图中每条边都有方向;无向边:边是没有方向的,写为(a,b)有向边:边是有方向的,写为有向边也成为弧;开始顶点称为弧尾,结束顶点称为弧头;简单图:不存在指向... 阅读全文
posted @ 2017-08-09 21:49 ChuningGao 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 前言在这里,如果大家对图或者数据结构还不太熟悉,想找一个动态的生成过程来参考,这是一个不错的网站.知识框架图的定义在线性结构中,数据元素之间满足唯一的线性关系,每个数据元素(除第一个和最后一个外)只有一个直接前趋和一个直接后继;在树形结构中,数据元素之间有着明显的层次... 阅读全文
posted @ 2017-08-09 21:46 ChuningGao 阅读(601) 评论(0) 推荐(0) 编辑
摘要: http://www.51nod.com/Kruskal算法的高效实现需要一种称作并查集的结构。我们在这里不介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论。Kruskal算法的过程:(1) 将全部边按照权值由小到大排序。(2) 按顺序(边权由小到大的顺序)考虑... 阅读全文
posted @ 2017-08-09 21:42 ChuningGao 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 图论中,用来求最短路的方法有很多,适用范围和时间复杂度也各不相同。本文主要介绍的算法的代码主要来源如下:Dijkstra: Algorithms(《算法概论》)Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani;《算法竞赛入... 阅读全文
posted @ 2017-08-07 08:47 ChuningGao 阅读(477) 评论(0) 推荐(0) 编辑
摘要: Dijkstra:适用于权值为非负的图的单源最短路径,用斐波那契堆的复杂度O(E+VlgV)BellmanFord:适用于权值有负值的图的单源最短路径,并且能够检测负圈,复杂度O(VE)SPFA:适用于权值有负值,且没有负圈的图的单源最短路径,论文中的复杂度O(kE),k为每个节点进... 阅读全文
posted @ 2017-08-07 08:43 ChuningGao 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 图的表示方法最常用的表示图的方法是邻接矩阵与邻接表。邻接矩阵表示法设G是一个有n(n>0)个顶点的图,V(G)={v1, v2, …, vn},则邻接矩阵AG是一个n阶二维矩阵。在该矩阵中,如果vi至vj有一条边,则(i, j)项的值为1,否则为0,即: 邻接矩阵的... 阅读全文
posted @ 2017-08-07 08:41 ChuningGao 阅读(6048) 评论(0) 推荐(0) 编辑
摘要: 一、DijkstraDijkstra单源最短路算法,即计算从起点出发到每个点的最短路。所以Dijkstra常常作为其他算法的预处理。 使用邻接矩阵的时间复杂度为O(n^2),用优先队列的复杂度为O((m+n)logn)近似为O(mlogn)(一) 过程每次选择一个未访问过的到已经访... 阅读全文
posted @ 2017-08-07 08:38 ChuningGao 阅读(3018) 评论(0) 推荐(1) 编辑
摘要: 适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是... 阅读全文
posted @ 2017-08-07 08:34 ChuningGao 阅读(386) 评论(0) 推荐(0) 编辑
摘要: SPFA算法为了简便,我们约定图中不存在负权回路,这可以通过一次拓扑排序知道。SPFA实际是Bellman-Ford算法的一种队列实现,用一个数组来保存最短路径的估计值,初始时将源加入队列,每次从队列中取队头元素,并对所有与其相邻的结点进行松弛操作,如果该点的估计值有所调整,且该点不... 阅读全文
posted @ 2017-08-07 08:32 ChuningGao 阅读(160) 评论(0) 推荐(0) 编辑