在 Java 中实现 Dijkstra 算法,你需要建立一张图并定义边的权值,然后对于给定的起点,使用 Dijkstra 算法寻找到其他所有点的最短路径。
这里是一个 Java 示例,其中包含了 Dijkstra 算法的实现:
``` import java.util.ArrayList; import java.util.List;
public class Dijkstra { // 邻接表存储图 private static List<List > adjacencyList; // 最短路径数组 private static int[] shortestPaths; // 起点 private static int start;
public static void main(String[] args) { // 初始化图 initGraph(); // 运行 Dijkstra 算法 runDijkstra(start); // 输出最短路径数组 for (int i = 0; i < shortestPaths.length; i++) { System.out.println("起点到" + i + "的最短路径长度为:" + shortestPaths[i]); } }
// 初始化图 private static void initGraph() { // 省略图的初始化代码 }
// 运行 Dijkstra 算法 private static void runDijkstra(int start) { // 初始化最短路径数组 shortestPaths = new int[ad