任意两点间的最短路问题(Floyd-Warshall算法)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                任意两点间的最短路问题(Floyd-Warshall算法)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            /*
任意兩點間的最短路問題(Floyd-Warshall算法)*/import java.util.Scanner;public class Main {//圖的頂點數(shù),總邊數(shù)static int V, E;//存儲所有的邊,大小為頂點數(shù)static int[][] Edges;static int[][] d;static final int MAX_VALUE = 999999;public static void main(String[] args) {creatGraph();shortPath();for (int i = 0; i < V; i++) {for (int j = 0; j < V; j++) {System.out.print(d[i][j] + " ");}System.out.println();}}static void shortPath() {d = new int[V][V];for (int i = 0; i < V; i++) {for (int j = 0; j < V; j++) {d[i][j] = Edges[i][j];}}for (int k = 0; k < V; k++)for (int i = 0; i < V; i++) {for (int j = 0; j < V; j++) {d[i][j] = Math.min(d[i][j], d[i][k] + d[k][j]);}}}static void creatGraph() {Scanner sc = new Scanner(System.in);V = sc.nextInt();E = sc.nextInt();Edges = new int[V][V];for (int i = 0; i < V; i++) {for (int j = 0; j < V; j++) {Edges[i][j] = MAX_VALUE;if (i == j) Edges[i][j] = 0;}}for (int i = 0; i < E; i++) {int u = sc.nextInt();int v = sc.nextInt();int w = sc.nextInt();Edges[u][v] = w;Edges[v][u] = w;}}
}  
                        
                        
                        ?
轉(zhuǎn)載于:https://www.cnblogs.com/Alpharun/p/8660200.html
超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的任意两点间的最短路问题(Floyd-Warshall算法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Sublime Text 快捷键使用
- 下一篇: LeetCode_2_两数相加
