首页 > 其他 > 详细

最快路径与迪克斯特拉

时间:2019-08-24 23:41:32      阅读:163      评论:0      收藏:0      [点我收藏+]

要找出从起到到终点耗时最短的路径需要使用狄克斯特拉算法。

狄克斯特拉算法用于找出最快的路径。

狄克斯特拉算法只适用于有向无环图DAG(directed acyclic graph)。 

狄克斯特拉算法用于每条边都 有关联数字的图,这些数字为权重。

带权重的图称为加权图,不带权重的图称为非加权图;

要计算非加权图中的最短路径,可使用广度优先搜索;

要计算加权图中的最短路径,可使用狄克斯特拉算法。

负权边的图不能使用迪克斯特拉算法,负权边会导致这种算法不管用。

在狄克斯特拉算法中给图的每条边都分配了一个数字或权重,因此,狄克斯特拉算法找出的是总权重最小的路径。

节点的开销:从起点出发前往该节点需要的耗时(代价)。

狄克斯特拉算法的实现思路:
1.找出代价最小的节点,即可在最短时间内到达的节点。

2.对该节点的邻居,检查是否有前往他们的更短路径,如果有,就更新其开销。

3.重复上述过程,直到对图中每个节点都这样做了。

4.计算最终路径。

 

最快路径与迪克斯特拉

原文:https://www.cnblogs.com/songyuejie/p/11406208.html

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