一、Dijkstra算法的思路
Dijkstra算法是针对单源点求最短路径的算法。
其主要思路如下:
1. 将顶点分为两部分:已经知道当前最短路径的顶点集合Q和无法到达顶点集合R。
2. 定义一个距离数组(distance)记录源点到各顶点的距离,下标表示顶点,元素值为距离。源点(start)到自身的距离为0,源点无法到达的顶点的距离就是一个大数(比如Infinity)。
3. 以距离数组中值为非Infinity的顶点V为中转跳点,假设V跳转至顶点W的距离加上顶点V至源点的距离还小于顶点W至源点的距离,那么就可以更新顶点W至源点的距离。即下面distance[V] + matrix[V][W]
1