Dijkstra

算法流程

  1. 用一个数组 dist 存储每个节点到 source 的距离; source 初始化为0,其他初始化为 Integer.MAX_VALUE;
  2. 从 dist 中选出距离最短的那个节点 N(这意味着节点 N 的最短距离已经求出来了,这也是可以用贪婪思想的本质!),并将其状态标记为已求出最短路
  3. 利用节点 N 对 dist 中其他处于为求出最短路状态的节点进行松弛操作。
  4. 重复步骤2、3。

Floyd 算法

算法流程