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-11-30 11:33:47 发布
本文详细介绍了迪杰斯特拉算法,并通过Java代码展示了如何求解图中节点间的最短路径。算法的时间复杂度为O(n^2),适用于解决带权有向图的最短路径问题。

最低0.47元/天 解锁文章

1472

被折叠的 条评论
为什么被折叠?



