BellmanFord为什么只需松弛V-1次

本文详细解析了最短路径算法中的关键步骤,包括初始化过程和松弛操作。通过分析可知,在每轮迭代中至少能完全松弛一个顶点,且最短路径不包含回路。文章还解释了在经过一定次数的迭代后,整个算法可以完成运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先s不用松弛,V-=1

然后对于其他的顶点。。每次都至少能完全松弛一个顶点。。

为什么呢。。因为初始d[s]=0,所以和s相邻接的边都将被松弛完全。。无论松弛的顺序

那么对于这个图,无论松弛的顺序都能松弛至少一个点。。

当经过一轮之后,情况就可以规约到产生新的d[x]!=INF的情况,所以我们仍然至少能完全松弛一个点(不能再被松弛)

最短路还有一个性质,那就是不走回头路,不含回路,最短路不会经过同一个点两次,也就是说最多松弛|V|-1条边,我们就能跑完整个算法

 

转载于:https://www.cnblogs.com/linkzijun/p/6546070.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值