import java.util.Scanner;
/**
* 迪杰斯特拉算法 :单源点到其他点的最短路径及距离
*/
public class Ptest {
//不能设置为Integer.MAX_VALUE,否则两个Integer.MAX_VALUE相加会溢出导致出现负权
public static int MaxValue = 100000;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// System.out.println("请输入顶点数和边数:");
//顶点数
int vertex = input.nextInt();
//边数
int edge = input.nextInt();
int[][] matrix = new int[vertex+1][vertex+1];
//初始化邻接矩阵
for (int i = 1; i <= vertex; i++) {
for (int j = 1; j <= vertex; j++) {
matrix[i][j] = MaxValue;
}
}
for (int i = 1; i <= edge; i++) {
// System.out.println("请输入第" + (i + 1) + "条边与其权值:");
int source = input.nextInt();
int
迪杰斯特拉算法(时间复杂度O(n^2))
最新推荐文章于 2024-02-05 14:59:30 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)