Bellman-Ford路由算法

Bellman-Ford路由算法

算法描述

1.初始化,建立d[],pred[],且d[s]=0,其余为无穷大,pred表示节点的父节点,s为起点

2.迭代求解:反复对边集E中的每条边进行松弛操作,使得顶点集V中的每个顶点v的最短距离估计值逐步逼近其最短距离;(运行|v|-1次)

3.检验负权回路:判断边集E中的每一条边的两个端点是否收敛。如果存在未收敛的顶点,则算法返回false,表明问题无解;否则算法返回true,并且从源点可达的顶点v的最短距离保存在 d[v]中。


输入:

6
10
0
0 1 2 3 4 5
0 1 -10
0 4 19
0 5 21
1 2 5
1 3 6
1 5 11
2 3 -6
3 4 18
3 5 14
4 5 -33

输出:

从源点s=0开始到0的最短路径长为0:

从源点s=0开始到1的最短路径长为-10:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值