国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java實現Floyd算法

java實現Floyd算法

2021-03-14 13:31豎支 Java教程

這篇文章主要為大家詳細介紹了java實現Floyd算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Floyd算法:用于多源最短路徑的求解,算出來的是所有的節點到其余各節點之間的最短距離。

該算法的思路是:首先初始化距離矩陣,然后從第一個點開始逐漸更新矩陣點值。d[i][j]表示從i點到j點的距離。第k次更新時,判斷d[i][k]+d[k][j]與d[i][j]的大小,如果前者小,則更新這個值,否則不變。

給一個例子:

java實現Floyd算法

具體的floyd實現算法如下[java] view plain copy

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.blyang;
 
public class Floyd {
   
  int[][] Matrix;
  char[] Nodes;
   
  private final int INF = Integer.MAX_VALUE;
   
  public Floyd(char[] Nodes, int[][] Matrix){
    this.Nodes = Nodes;
    this.Matrix = Matrix;
  }
   
  public void floyd(){
     
    int[][] distance = new int[Nodes.length][Nodes.length];
     
    // 初始化距離矩陣
    for(int i=0; i<Nodes.length; i++){
      for(int j=0; j<Nodes.length; j++){
        distance[i][j] = Matrix[i][j];
      }
    }
     
    //循環更新矩陣的值
    for(int k=0; k<Nodes.length; k++){
      for(int i=0; i<Nodes.length; i++){
        for(int j=0; j<Nodes.length; j++){
          int temp = (distance[i][k] == INF || distance[k][j] == INF) ? INF : distance[i][k] + distance[k][j];
          if(distance[i][j] > temp){
            distance[i][j] = temp;
          }
        }
      }
    }
     
    // 打印floyd最短路徑的結果
    System.out.printf("floyd: \n");
    for (int i = 0; i < Nodes.length; i++) {
      for (int j = 0; j < Nodes.length; j++)
        System.out.printf("%12d ", distance[i][j]);
      System.out.printf("\n");
    }
  }
}

在實現之后,針對上圖的點和權值,給定一個測試:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.blyang;
 
public class Main {
 
 
   
  public static void main(String[] args) {
    int INF = Integer.MAX_VALUE;
     
    char[] Nodes = {'0', '1', '2', '3'};
    int matrix[][] = {
         /*A*//*B*//*C*//*D*/
     /*A*/ {  0,  1,  2,  1},
     /*B*/ { INF,  0, INF, INF},
     /*C*/ { INF,  3,  0,  1},
     /*D*/ { INF,  110},
     };
       
    int[] dist = new int[Nodes.length];
   
    Floyd floyd = new Floyd(Nodes, matrix);
    floyd.floyd();
 
  }
   
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/sinat_22013331/article/details/51000331

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日本一区二区视频免费观看 | 热久久国产 | 久久国内精品 | 亚洲综合一二区 | 视频1区| 国户精品久久久久久久久久久不卡 | a在线观看 | 在线观看黄色 | 久久99精品久久久久久久青青日本 | 免费一级片在线 | 精品性| 1000部精品久久久久久久久 | 91成人在线 | 91精品视频在线播放 | 午夜国产 | 国产精品久久一区二区三区 | 国产精品久久久久久亚洲调教 | 日韩电影免费在线观看 | 精品久久国产老人久久综合 | 欧美成人免费在线视频 | 久久久www成人免费无遮挡大片 | 激情婷婷丁香 | 日韩在线欧美 | 日韩精品色 | 欧美一区二区黄 | 日韩欧美一区二区三区 | 免费人成黄页网站在线一区二区 | 一级片在线观看 | 国产精品久久久久久久久久久久 | 日韩精品一区二区在线观看 | 天堂av一区 | 99精品久久久 | 国产精品久久久久国产a级 成人a在线视频 | 日本在线中文 | 精品一区二区三区免费 | 成人一级黄色大片 | 日韩中文字幕 | 黄视频网站免费观看 | 自拍偷拍亚洲欧美 | 国产精品免费久久久久久久久久中文 | 午夜欧美精品久久久久 |