Dijkstra算法:
参数介绍:
S:图中点的集合
P:从当前点到起始点的最短路径。
T:表示当前点到前一个点的距离+P(前一个点的最短距离)
λ:记录了改点前一个最短距离点
算法:
1.p=0,T=+无穷,判断点集是否已等于有效点集个数,未满足跳到第二步
2.从出发点开始向下找相邻的点,修改T标号,T=P+w,写出每个点的T标号 。
3.P=min(T),最小的T被赋给P后就划掉,λ=上一个点的值,判断S是否满了,未满跳到步骤2。
注意:算法适用于有向图和无向图,距离权为正数。
当权值为负数的时候要做一个点和距离之间的表格,不断的进行调整。第一步基于起始点进行扩展,第二步基于扩展点进行扩展,并且优化上一步的点使数值最小,然后依次类推