亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【程序員必會(huì)十大算法】之弗洛伊德算法

JellyBool / 1271人閱讀

摘要:學(xué)習(xí)資料迪杰斯特拉計(jì)算的是單源最短路徑,而弗洛伊德計(jì)算的是多源最短路徑代碼不能設(shè)置為,否則兩個(gè)相加會(huì)溢出導(dǎo)致出現(xiàn)負(fù)權(quán)創(chuàng)建頂點(diǎn)和邊

學(xué)習(xí)資料

迪杰斯特拉計(jì)算的是單源最短路徑,而弗洛伊德計(jì)算的是多源最短路徑

代碼

public class Main {    //不能設(shè)置為Integer.MAX_VALUE,否則兩個(gè)Integer.MAX_VALUE相加會(huì)溢出導(dǎo)致出現(xiàn)負(fù)權(quán)    public static int MaxValue = 10000;    public static int[][] path;    public static void main(String[] args) {        //創(chuàng)建頂點(diǎn)和邊        char[] data = {"A","B","C","D","E","F","G"};        int[][] matrix = {                {10000,5,7,10000,10000,10000,2},                {5,10000,10000,9,10000, 10000,3},                {7,10000,10000,10000,8,10000,10000},                {10000,9,10000,10000,10000,4,10000},                {10000,10000,8,10006,10000,5,4},                {10000,10000,10000,4,5,10000,6},                {2,3,10000,10000,4,6,10000}};        //初始化路徑數(shù)組        path = new int[matrix.length][matrix.length];        floyd(matrix);    }    //非遞歸實(shí)現(xiàn)    public static void floyd(int[][] matrix) {        for (int i = 0; i < matrix.length; i++) {            for (int j = 0; j < matrix.length; j++) {                path[i][j] = -1;            }        }        for (int m = 0; m < matrix.length; m++) {            for (int i = 0; i < matrix.length; i++) {                for (int j = 0; j < matrix.length; j++) {                    if (matrix[i][m] + matrix[m][j] < matrix[i][j]) {                        matrix[i][j] = matrix[i][m] + matrix[m][j];                        //記錄經(jīng)由哪個(gè)點(diǎn)到達(dá)                        path[i][j] = m;                    }                }            }        }        for (int i = 0; i < matrix.length; i++) {            for (int j = 0; j < matrix.length; j++) {                if (i != j) {                    if (matrix[i][j] == MaxValue) {                        System.out.println(i + "到" + j + "不可達(dá)");                    } else {                        System.out.print(i + "到" + j + "的最短路徑長(zhǎng)度是:" + matrix[i][j]);                        System.out.print("最短路徑為:" + i + "->");                        findPath(i, j);                        System.out.println(j);                    }                }            }        }    }    //遞歸尋找路徑    public static void findPath(int i, int j) {        int m = path[i][j];        if (m == -1) {            return;        }        findPath(i, m);        System.out.print(m + "->");        findPath(m, j);    }}

結(jié)果

01的最短路徑長(zhǎng)度是:5最短路徑為:0->102的最短路徑長(zhǎng)度是:7最短路徑為:0->203的最短路徑長(zhǎng)度是:12最短路徑為:0->6->5->304的最短路徑長(zhǎng)度是:6最短路徑為:0->6->405的最短路徑長(zhǎng)度是:8最短路徑為:0->6->506的最短路徑長(zhǎng)度是:2最短路徑為:0->610的最短路徑長(zhǎng)度是:5最短路徑為:1->012的最短路徑長(zhǎng)度是:12最短路徑為:1->0->213的最短路徑長(zhǎng)度是:9最短路徑為:1->314的最短路徑長(zhǎng)度是:7最短路徑為:1->6->415的最短路徑長(zhǎng)度是:9最短路徑為:1->6->516的最短路徑長(zhǎng)度是:3最短路徑為:1->620的最短路徑長(zhǎng)度是:7最短路徑為:2->021的最短路徑長(zhǎng)度是:12最短路徑為:2->0->123的最短路徑長(zhǎng)度是:17最短路徑為:2->4->5->324的最短路徑長(zhǎng)度是:8最短路徑為:2->425的最短路徑長(zhǎng)度是:13最短路徑為:2->4->526的最短路徑長(zhǎng)度是:9最短路徑為:2->0->630的最短路徑長(zhǎng)度是:12最短路徑為:3->5->6->031的最短路徑長(zhǎng)度是:9最短路徑為:3->132的最短路徑長(zhǎng)度是:17最短路徑為:3->5->4->234的最短路徑長(zhǎng)度是:9最短路徑為:3->5->435的最短路徑長(zhǎng)度是:4最短路徑為:3->536的最短路徑長(zhǎng)度是:10最短路徑為:3->5->640的最短路徑長(zhǎng)度是:6最短路徑為:4->6->041的最短路徑長(zhǎng)度是:7最短路徑為:4->6->142的最短路徑長(zhǎng)度是:8最短路徑為:4->243的最短路徑長(zhǎng)度是:9最短路徑為:4->5->345的最短路徑長(zhǎng)度是:5最短路徑為:4->546的最短路徑長(zhǎng)度是:4最短路徑為:4->650的最短路徑長(zhǎng)度是:8最短路徑為:5->6->051的最短路徑長(zhǎng)度是:9最短路徑為:5->6->152的最短路徑長(zhǎng)度是:13最短路徑為:5->4->253的最短路徑長(zhǎng)度是:4最短路徑為:5->354的最短路徑長(zhǎng)度是:5最短路徑為:5->456的最短路徑長(zhǎng)度是:6最短路徑為:5->660的最短路徑長(zhǎng)度是:2最短路徑為:6->061的最短路徑長(zhǎng)度是:3最短路徑為:6->162的最短路徑長(zhǎng)度是:9最短路徑為:6->0->263的最短路徑長(zhǎng)度是:10最短路徑為:6->5->364的最短路徑長(zhǎng)度是:4最短路徑為:6->465的最短路徑長(zhǎng)度是:6最短路徑為:6->5

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/121661.html

Failed to recv the data from server completely (SIZE:0/8, REASON:closed)