啊哈算法2伟大思维闪耀时_「坐在马桶上看算法」算法6:只有五行的Floyd最短路算法...

本文通过一个旅行问题介绍了Floyd算法,用于解决图中任意两点之间的最短路径问题。通过逐步允许更多的顶点作为中转,更新最短路径,最终得出所有顶点间最短路径的解决方案。算法实现简洁,体现了动态规划的思想。
摘要由CSDN通过智能技术生成
2da5b8daa877df360fb5ae72b8e1a234.png

暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。

40326892c7267ac3f580d85a5061ba45.png

上图中有4个城市8条公路,公路上的数字表示这条公路的长短。请注意这些公路是单向的。我们现在需要求任意两个城市之间的最短路程,也就是求任意两个点之间的最短路径。这个问题这也被称为“多源最短路径”问题。

现在需要一个数据结构来存储图的信息,我们仍然可以用一个4*4的矩阵(二维数组e)来存储。比如1号城市到2号城市的路程为2,则设e[1][2]的值为2。2号城市无法到达4号城市,则设置e[2][4]的值为∞。另外此处约定一个城市自己是到自己的也是0,例如e[1][1]为0,具体如下。

8b25671709f7b78428627cb2953eb897.png

现在回到问题:如何求任意两点之间最短

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值