码迷,mamicode.com
首页 > 其他好文 > 详细

BellmanFord 最短路

时间:2018-09-06 21:31:14      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:存在   nbsp   alt   for   .com   分享   通过   time   man   

 

时间复杂度:O(VE)

最多循环V次,每次循环对每一条边(共E条边)判断是否可以进行松弛操作

 

最多V次:一个点的最短路,最多包含V-1个点(不包含该点),

如d1->d2->d3->...->dn,第一次求出d2的最短路,第二次求出d3的最短路,第V-1次求出dn的最短路。

最迟通过 第V次操作是否存在修改 来判断是否存在负环。

 

Sk:TimeK中距离恰好变为最短距离的点集合

技术分享图片

 

 

当一次操作没有存在修改,即可说明最短路已求出,且无负环,可以退出。

 

松弛减边:

study from:https://www.cnblogs.com/ldy-miss/p/5658363.html

若该边可以进行松弛操作,代表着该边已经被使用于求最短路上“且影响不会消失”,即可删除该边。

注意,只有有向边才能这样做,这个不适用于无向边。

 

BellmanFord 最短路

标签:存在   nbsp   alt   for   .com   分享   通过   time   man   

原文地址:https://www.cnblogs.com/cmyg/p/9600965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!