
图论
Susceptible0506
这个作者很懒,什么都没留下…
展开
-
图论之最短路径 Dijkstra算法、超级源点、反向建边
1.最短路径问题最短路径问题:求一个结点到另一个结点的权值总和最小的路径对于无向图和有向图均是成立的比如下图,求从结点0到结点6的最短路径主要应用于:路径规划和工作任务规划2.松弛操作松弛操作是最短路径求解的核心松弛操作:针对从0->1的最短路径,从0到1的权值是5,此时我们尝试绕着从0->2->1,看下这样的走法所得到的权值是否小于直接从0->13.Dijkstra单源最短路径算法这个算法的前提是图中不存在负权边(权值为负数)算法原创 2020-05-24 22:47:41 · 1429 阅读 · 0 评论 -
图论之最小生成树 Prim算法和Kruskal算法
1.最小生成树问题最小生成树问题:一个图有V个顶点,找到V-1条边连接这V个顶点,使得总权值最小最小生成树问题通常是针对带权无向图、连通图如果图不是连通图:分别在每个连通分量上计算最小生成树---最小生成森林应用:电缆布线设计、网络设计、电路设计...原创 2020-05-24 20:00:58 · 1540 阅读 · 0 评论 -
图的广度优先遍历和最短路径
1.广度优先遍历的过程思想:先遍历当前结点的全部邻接结点,然后依次遍历相邻结点的全部相邻结点做法:使用队列将0结点加入到队列中,将0从队列取出将0结点还未遍历到的相邻结点入队将1结点从队列取出,将1结点还未遍历到的相邻结点入队(此时没有)将2结点从队列取出,将2结点还未遍历到的相邻结点入队(此时没有)将5结点从队列取出,将5结点还未遍历到的相邻结点入队:3,4将6结点从队列取出,将6结点还未遍历到的相邻结点入队(此时没有)将3结点从队列取出,将3结点还未遍历到的相原创 2020-05-23 10:52:37 · 2108 阅读 · 0 评论 -
图的深度优先遍历和计算连通分量
1.深度优先遍历过程过程:访问0: 访问0的第一个相邻结点1访问1:1的相邻结点为0,访问过了,结点1的全部相邻结点访问完毕,退回0接着访问0的下一个相邻结点2访问2:2的相邻结点为0,访问过了,结点2的全部相邻结点访问完毕,退回0接着访问0的下一个相邻结点5访问5:5的第一个相邻结点为0,访问过了,访问下一个结点3访问3: 3的第一个相邻结点为4访问4:4的第一个相邻结点为3,访问过了,下一个相邻结点5,访问过了,相邻结点6访问6:6的两个相邻结点都已经访问过了原创 2020-05-23 09:39:04 · 4322 阅读 · 0 评论 -
图的基础和表示
1.图的基础图是由节点和边组成的图的主要应用:交通运输、社交网络、互联网、工作安排、脑区活动、程序状态执行图的分类:有向图和无向图;有权图和无权图;连通图和非连通图图的连通性:如果从图的任意一个结点可以到另外任意一个结点,说明这个图是连通的,下面这个图不是完全连通的简单图:没有自环边和平行边的(一般题目处理的都是简单图,如果没有说明是简单图,需要处理一下)自环边:有自己到自己的一条路径平行边:代表两个节点之前有多条连接路径。比如交通运输:从A点到B点有多条路径原创 2020-05-22 21:38:36 · 625 阅读 · 0 评论