最短路
文章平均质量分 88
L_Hygen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++数据结构与算法分析——Floyd算法
介绍 Floyd算法是一种求多源汇最短路的算法,它可以求出任意两点间的最短距离(如果这两点连通的话),并且Floyd算法非常容易实现: 算法模板O(n3)O(n^3)O(n3) for(int k = 1; k <= n; k ++) for(int i = 1; i <= n; i ++) for(int j = 1; j <= n; j ++) d[i][j] = min(d[i][j],d[i][k] + d[k][j]); 它总共有3层循环,每层n次,所以时间复杂度为原创 2021-10-15 19:28:59 · 3463 阅读 · 0 评论 -
C++数据结构与算法分析——Dijkstra算法
Dijkstra算法 介绍 Dijkstra算法是图论中用来求最短路的算法。这个最短路求的是起点1到终点n的最短距离dist[n]。它通过贪心的思想每次求出距离起点最短的点t,然后对其它所有未确定最短路的点的最短距离进行更新。当所有点都确定过最短路时,只需要将dist[n]取出即为起点1到终点n的最短路。 步骤 初始化所有点到起点1的最短路dist[i] = ∞(0x3f3f3f3f),dist[1] = 0(起点到起点距离为0) 进行n次循环,每次求出一个点的最短路并更新其他路的最短路 求出所有点中距离原创 2021-09-06 09:30:19 · 450 阅读 · 0 评论
分享