图与网络——Dijkstra算法

Dijkstra算法:

     参数介绍:

           S:图中点的集合

           P:从当前点到起始点的最短路径。

           T:表示当前点到前一个点的距离+P(前一个点的最短距离)

           λ:记录了改点前一个最短距离点

     算法:

         1.p=0,T=+无穷,判断点集是否已等于有效点集个数,未满足跳到第二步

         2.从出发点开始向下找相邻的点,修改T标号,T=P+w,写出每个点的T标号 。

         3.P=min(T),最小的T被赋给P后就划掉,λ=上一个点的值,判断S是否满了,未满跳到步骤2。

  注意:算法适用于有向图和无向图,距离权为正数。

  当权值为负数的时候要做一个点和距离之间的表格,不断的进行调整。第一步基于起始点进行扩展,第二步基于扩展点进行扩展,并且优化上一步的点使数值最小,然后依次类推

猜你喜欢

转载自www.cnblogs.com/dugudongfangshuo/p/9163070.html