Dijkstra 算法是最典型的单源最短路径算法,其本质是贪心算法,每一步都以当前的最优选择为前提,不存在回溯的过程,要求图中不存在负权边。
以上图为例,就是以A为起点,最后找到A到各个点的最短路径。
终点是D,E,F的时候,发现上一步的路径比当前的路径更短,所以选择了上一步的路径。然后以这最短路径的点为中间点进行下一步。
Floyd算法 动态规划的思想
这个博客对floyd描述不错http://developer.51cto.com/art/201403/433874.htm
这个博客关于dijkstra与floyd都写的比较详细https://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html
上图的总结来自http://blog.csdn.net/liuyanling_cs/article/details/56330652