一,Dijkstra算法的思想
Dijkstra算法解决的是权重非负的有向图的单源最短路径问题,仍然使用的是贪心策略,每次将权值最小的结点加入集合中。
二,Dijkstra算法介绍
准备阶段:一副赋值有向图,我们定义一个集合S,表示源结点s到集合S中的结点的最短路径已经被找到,再定义一个队列Q=V-S用于存放未找到最短路径的结点。
算法过程:算法不断的从Q中选择最短路径估计值(u.d)最小的结点u加入集合S中,然后对从u发出的边进行松弛。
三,Dijkstra算法伪代码
DIJKSTRA(G,w,s)
1. INITIALIZE_SINGLE_SOURCE(G,s)
2. S=∅
3. Q=G.V