要找出从起到到终点耗时最短的路径需要使用狄克斯特拉算法。
狄克斯特拉算法用于找出最快的路径。
狄克斯特拉算法只适用于有向无环图DAG(directed acyclic graph)。
狄克斯特拉算法用于每条边都 有关联数字的图,这些数字为权重。
带权重的图称为加权图,不带权重的图称为非加权图;
要计算非加权图中的最短路径,可使用广度优先搜索;
要计算加权图中的最短路径,可使用狄克斯特拉算法。
负权边的图不能使用迪克斯特拉算法,负权边会导致这种算法不管用。
在狄克斯特拉算法中给图的每条边都分配了一个数字或权重,因此,狄克斯特拉算法找出的是总权重最小的路径。
节点的开销:从起点出发前往该节点需要的耗时(代价)。
狄克斯特拉算法的实现思路:
1.找出代价最小的节点,即可在最短时间内到达的节点。
2.对该节点的邻居,检查是否有前往他们的更短路径,如果有,就更新其开销。
3.重复上述过程,直到对图中每个节点都这样做了。
4.计算最终路径。
原文:https://www.cnblogs.com/songyuejie/p/11406208.html