Dijkstra算法

找到某一结点n和各个其他节点的每个最短距离

a[i][j] 是i节点和j节点的距离

p[i] 是是否访问了该节点

d[i] 是i节点和n节点的最短距离

总共m个节点,进行m次遍历每次更新好一个d[i]

每次遍历节点k的具体行动为,

1首先找到当前的d[i] 的min为本次要确定的d[k]

2然后将p[k]标记为true

3将所有其他p为false的剩下d[i] 更新为 d[i] 和 d[k]+a[i][k] 的min

遍历完毕则d[i] 即使最短距离的集合

C++:

迪克斯特拉算法_百度百科

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值