最短路径专题7 最短距离-多起点多终点 (Floyd求最短路 )
最短路径专题7 最短距离-多起点多终点 (Floyd求最短路 )
原创 于 2023-10-08 14:33:44 发布 · 粉丝可见 · 669 阅读 · 0 · 1 · 本内容遵循CC 4.0 BY-SA版权协议 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 GEO检测 · 编辑
文章链接:https://blog.csdn.net/hacker_51/article/details/133638929
题目:

样例:
cobol<br/>4 5<br/>0 1 2<br/>0 2 5<br/>0 3 1<br/>1 2 1<br/>3 2 2<br/> |
|---|
cobol<br/>0 2 3 1<br/>2 0 1 3<br/>3 1 0 2<br/>1 3 2 0<br/> |
|---|

思路:
根据题目意思, 求 i 到 j 之间的最短距离或者,j 到 i 的最短距离。
这道题,因为数据范围较小,也可以直接暴力的做法,直接Dijkstra堆优化方式每次求 i 到 j 的最短距离,输出各个最短距离。
代码详解1如下:
1 | |
最后提交:

第二种解法:
Floyd算法,直接定义 两个点之间的最短距离, 注意初始化两个点之间的最短距离
核心就是三层循环的暴力做法,每一层循环的含义就是:起点,中间连接点,终点。
代码详解2如下:
1 | |
最后提交:

从提交的结果可以知道,当有多起点多终点的时候,最好用 Floyd 算法,时间复杂度低,代码简易有效率,如果暴力 Dijkstra ,时间复杂度相比较高,代码较多效率低。
Floyd算法,灵活性差,Dijkstra灵活性高。
觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭
wechat pay
ali pay
最短路径专题7 最短距离-多起点多终点 (Floyd求最短路 )
http://blog.angindem.cn/2023/10/08/Angindem-CSDN博客/087_87/