图论之Dijkstra算法

Dijkstra算法是图论中经典的最短路径算法之一,主要用于解决单源最短路径问题。

单源最短路径问题,即求某个源节点到其他各个节点的最短路径。

Dijkstra算法采用了贪心算法的思想,如图求1号节点到其他各个节点最短路径。

首先从1号节点出发,扩展已知的最短路径集合,每次优先“松弛”最近的节点所相连的边,直到所有扩展范围覆盖全部,所得即最优结果。

由于负权值使得上一次最优结果积累失效,所以Dijkstra算法不能解决负权路问题。

 

原文地址:https://www.cnblogs.com/zhongzihao/p/9478001.html