迪杰斯特拉(Dijkstra)算法

https://blog.csdn.net/goodxin_ie/article/details/88707966
最短路算法——迪杰斯特拉(Dijkstra)算法
最短路算法——迪杰斯特拉(Dijkstra)算法

  1. 初始时从1开始寻找各节点到该节点的距离,路不通设置为maxint,此时把1归为s里面
  2. 从1)得到距离1最短的路径对应的结点如上图为2,并把2归到s里面并求各节点(剩下的不在s里面的)到2的距离,如果新的距离更小的话则更新dist[i]
  3. 从2)得到距离2最短的路径对应的结点如上图为4,并把4归到s里面并求各节点(剩下的不在s里面的)到4的距离,如果新的距离更小的话则更新dist[i]
  4. 依次类推可以把算有的节点遍历,并且最终的dist[i]便是从初始节点1到i的最短路径

算法实现

相关文章: