迪杰斯特拉(Dijkstra)算法

2020-10-27  本文已影响0人  CyberDunk1997

Dijkstra算法的步骤

举例说明

  1. 假设要求下面这个图的最短路径,以A为起点,目前只知道A到自己的最短距离为0。


  2. 将A纳入集合S,集合S={A},集合U={B,C,D,E,F},计算集合U中各个顶点到A的距离。


  3. 将B纳入S(因为B到A最短),集合S={A,B},集合U={C,D,E,F},计算A通过B到各个顶点的距离,并更新最小值。


  4. 将F纳入S,再次计算A通过F到各个顶点的距离,并更新


  5. 将F纳入S,再次计算A通过F到各个顶点的距离,并更新


  6. 此时C和E到A的距离都是9,任意纳入一个顶点到S,并更新


  7. 最后一步


上一篇 下一篇

猜你喜欢

热点阅读