![](https://img-blog.csdnimg.cn/1d16014b0ba44f428cde2f759e7fac08.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
图论算法
总结关于图论的一些算法
星河边采花
JiangZY
展开
-
Kruskal算法求最小生成树
Kruskal算法求最小生成树1.将所有边按照权重从小到大排序2.枚举每条边ab,权重是c if a,b不连通,将这条边加入集合。原创 2022-11-03 21:33:37 · 308 阅读 · 0 评论 -
Prim算法求最小生成树
1,初始化所有距离为正无穷2,用一个集合表示当前在连通块中的所有点3,迭代n次,每一次找到集合外距离最近的点,把它赋给t4.用t来更新集合外的点到集合(与dijkstra区别就是到集合还是到起点)的距离5.把t加入集合。原创 2022-11-03 21:24:04 · 453 阅读 · 0 评论 -
Floyd算法求解最短路相关问题
Floyd算法求解最短路相关问题基于动态规划算法应用: 1.求最短路: 2.传递闭包 3.总权最小的环 4.恰好经过k条边的最短路原创 2022-11-02 11:33:48 · 120 阅读 · 0 评论 -
spfa算法(Bellman-Ford算法改进)
spfa算法(Bellman-Ford算法改进) dist数组表示,起点到该点的距离。spfa就是在这个思路上进行改进。因为我们注意到:dist[b] 并不是每一次都需要更新,而是dist[a]更新了以后,dist[b]才需要更新。所有我们用一个队列存已经更新的点即可,每次取出一个来更新其他点,跟dijkstra也有点像。int n; // 总点数 int h[N], w[N], e[N], ne[N], idx; // 邻接表存储所有边 int dist[N]; //原创 2022-11-02 11:25:18 · 131 阅读 · 0 评论 -
朴素版Dijkstra算法
1.初始化距离,把起点距离初始化为0,其他所有点初始化为INF(很大的数)2.准备一个集合S(当前已经确定最短距离的点放入S中)3.for 1~n 循环n次,每次找到不在集合中的距离最近的点。int t原创 2022-11-02 11:11:37 · 183 阅读 · 0 评论 -
图论算法总结
【代码】图论算法总结。2.最短路算法 2.1 Dijkstra算法 2.2 spfa算法 2.3 Floyd算法 3.最小生成树算法 3.1 Prim算法 3.2 Kruskal算法原创 2022-11-02 11:01:30 · 256 阅读 · 0 评论