迪杰斯特拉算法解决的问题是: 在一个有向图中,求图中一个节点到其他所有节点的最短距离 算法思路: 每次选取一个离出发点最近且未标记的节点,调整出发点到以这个节点为中心的周边节点的最短距离。这个过程持续 n - 1 次,直到所有节点都遍历完毕。 假设有一个这样的图(图片出处: Dijkstra算法Java实现 ): 求节点 1 到其他节点的最短距离,代码实现如下: public class Test { public static void main ( String [ ] args ) { int MAX = Integer . MAX_VALUE ; // 无法到达时距离设为 Integer.MAX_VALUE int [ ] [ ] weight = { { 0 , 1 , 12 , MAX , MAX , MAX } , { MAX , 0 , 9 , 3 , MAX , MAX } , { MAX , MAX , 0 , MAX , 5 , MAX } , { MAX , MAX , 4 , 0 , 13 , 15 } , { MAX , MAX , MAX , MAX , 0 , 4 } , { MAX , MAX , MAX , MAX , MAX , 0 } } ; int start = 0 ; // 选择出发点 System . out . println (