Dijkstra是图论中用来求特定结点到其他所有结点的最短路径长度,即单源最短路问题的算法。
个人总结思路:
基本原理是按照最短路径长度递增的顺序确定每一个结点的最短路径长度,即先确定的结点的最短路径长度不大于后确定的结点的最短路径长度。根据结点数量进行一个大循环,每将一个新的结点加入已知路径集合中,都检查一遍所有与它相连的结点,更新从源点出发到达它们的距离向量(重要,根据结点是否在已知路径集合中有两种意义),选择其中最近的结点作为新加入已知路径集合的点并作为下次循环考查的结点,当所有结点考查完毕,则大循环结束。
(以下图片来自http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html,其中的"S集合"下文中以"K集合"代替,"U集合"即"非K集合")