(原创)狄克斯特拉算法

一、用途

1.广度优先搜索用于计算非加权图中的最短路径

2.狄克斯特拉算法用于计算加权图中的最短路径(不能带有负权边)


备注:当图的每条边都带有一个数字时,这些数字成为权重。带权重的图称为加权图,反之称为非加权图。


二、实现步骤

1.从起点开始。

2.找到该点最便宜的邻居节点。

3.若该节点的开销优于之前记录的开销,则更新该节点的开销及该节点的父节点。

4.找到第二便宜的节点,重复第三步。以此类推,直到找遍起点的所有邻居。

5.找到起点开销最小的邻居。

6.从该节点出发,重复第二步。

7.找到起点的邻居中开销第二大的节点,重复第六步,以此类推,直到找遍地点的邻居。

8.从起点的邻居的邻居中,找到开销最小的节点,以此类推,直到找遍图中所有的层,即所有的点。


注意:

1.每一层都要从最优的节点开始,然后是第二优的节点,类推,才能确保该层最后的结果每个节点都是它的最优。

2.就算找到了一条到达终点的路径,也要继续遍历剩下的点,因为还可能有更优的路径。


三、具体实现

(困了准备睡觉。。。后面补上)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值