首页 > 其他 > 详细

BellmanFord 最短路

时间:2018-09-06 21:20:38      阅读:194      评论:0      收藏:0      [点我收藏+]

 

时间复杂度: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 最短路

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!