这个算法是图论算法的一种,可以实现求图中任意两个节点之间的最短距离
话不多说,直接上代码:
package my.demo.main;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
//迪杰斯特拉算法求图中任意两个节点的最短路径
public class Dijkstra {
private int MAX=Integer.MAX_VALUE;
private int[][] map=new int[][]{
{0,1,5,MAX,MAX,MAX,MAX,MAX,MAX},
{1,0,3,7,5,MAX,MAX,MAX,MAX},
{5,3,0,MAX,1,7,MAX,MAX,MAX},
{MAX,7,MAX,0,2,MAX,3,MAX,MAX},
{MAX,5,1,2,0,3,6,9,MAX},
{MAX,MAX,7,MAX,3,0,MAX,5,MAX},
{MAX,MAX,MAX,3,6,MAX,0,2,7},
{MAX,MAX,MAX,MAX,9,5,2,0,4},
{MAX,MAX,MAX,MAX,MAX,MAX,7,4,0}
};
public static void main(String[] args) throws InterruptedException{
Dijkstra demo=new Dijkstra();
//demo.getResult(0);
//System.out.println(demo.isTwoSame(demo.map));
demo.getResult(1);
}
//获取计算结果,其中m要求的那个节点
public voi