日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java實現Dijkstra算法

瀏覽:25日期:2022-09-01 08:43:05

本文實例為大家分享了java實現Dijkstra算法的具體代碼,供大家參考,具體內容如下

1 問題描述

何為Dijkstra算法?

Dijkstra算法功能:給出加權連通圖中一個頂點,稱之為起點,找出起點到其它所有頂點之間的最短距離。

Dijkstra算法思想:采用貪心法思想,進行n-1次查找(PS:n為加權連通圖的頂點總個數,除去起點,則剩下n-1個頂點),第一次進行查找,找出距離起點最近的一個頂點,標記為已遍歷;下一次進行查找時,從未被遍歷中的頂點尋找距離起點最近的一個頂點, 標記為已遍歷;直到n-1次查找完畢,結束查找,返回最終結果。

2 解決方案

2.1 使用Dijkstra算法得到最短距離示例

此處借用文末參考資料1博客中一個插圖(PS:個人感覺此圖描述簡單易懂):

java實現Dijkstra算法

java實現Dijkstra算法

2.2 具體編碼

Dijkstra復雜度是O(N^2),如果用binary heap優化可以達到O((E+N)logN),用fibonacci heap可以優化到O(NlogN+E) 。

注意,Dijkstra算法只能應用于不含負權值的圖。因為在大多數應用中這個條件都滿足,所以這種局限性并沒有影響Dijkstra算法的廣泛應用。

其次,大家要注意把Dijkstra算法與尋找最小生成樹的Prim算法區分開來。兩者都是運行貪心法思想,但是Dijkstra算法是比較路徑的長度,所以必須把起點到相應頂點之間的邊的權重相加,而Prim算法則是直接比較相應邊給定的權重。

下面的代碼時間復雜度為O(N^2),代碼中所用圖為2.1使用Dijkstra算法得到最短距離示例中所給的圖。

package com.liuzhen.chapter9;public class Dijkstra { /* * 參數adjMatrix:為圖的權重矩陣,權值為-1的兩個頂點表示不能直接相連 * 函數功能:返回頂點0到其它所有頂點的最短距離,其中頂點0到頂點0的最短距離為0 */ public int[] getShortestPaths(int[][] adjMatrix) { int[] result = new int[adjMatrix.length]; //用于存放頂點0到其它頂點的最短距離 boolean[] used = new boolean[adjMatrix.length]; //用于判斷頂點是否被遍歷 used[0] = true; //表示頂點0已被遍歷 for(int i = 1;i < adjMatrix.length;i++) { result[i] = adjMatrix[0][i]; used[i] = false; } for(int i = 1;i < adjMatrix.length;i++) { int min = Integer.MAX_VALUE; //用于暫時存放頂點0到i的最短距離,初始化為Integer型最大值 int k = 0; for(int j = 1;j < adjMatrix.length;j++) { //找到頂點0到其它頂點中距離最小的一個頂點if(!used[j] && result[j] != -1 && min > result[j]) { min = result[j]; k = j;} } used[k] = true; //將距離最小的頂點,記為已遍歷 for(int j = 1;j < adjMatrix.length;j++) { //然后,將頂點0到其它頂點的距離與加入中間頂點k之后的距離進行比較,更新最短距離if(!used[j]) { //當頂點j未被遍歷時 //首先,頂點k到頂點j要能通行;這時,當頂點0到頂點j的距離大于頂點0到k再到j的距離或者頂點0無法直接到達頂點j時,更新頂點0到頂點j的最短距離 if(adjMatrix[k][j] != -1 && (result[j] > min + adjMatrix[k][j] || result[j] == -1)) result[j] = min + adjMatrix[k][j];} } } return result; } public static void main(String[] args) { Dijkstra test = new Dijkstra(); int[][] adjMatrix = {{0,6,3,-1,-1,-1},{6,0,2,5,-1,-1},{3,2,0,3,4,-1},{-1,5,3,0,2,3},{-1,-1,4,2,0,5},{-1,-1,-1,3,5,0}}; int[] result = test.getShortestPaths(adjMatrix); System.out.println('頂點0到圖中所有頂點之間的最短距離為:'); for(int i = 0;i < result.length;i++) System.out.print(result[i]+' '); }}

運行結果:

頂點0到圖中所有頂點之間的最短距離為:0 5 3 6 7 9

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
影音国产精品| 日韩中文字幕1| 欧美日本二区| 日韩国产一区二| 亚洲精品日韩久久| 丝袜国产日韩另类美女| 亚洲免费黄色| 蜜臀av免费一区二区三区| 亚洲伦乱视频| 日韩成人高清| 久久九九电影| 99香蕉国产精品偷在线观看 | 欧美日韩精品免费观看视完整| 精品亚洲a∨| 国产一区三区在线播放| 欧美激情精品| 国产一区二区三区成人欧美日韩在线观看 | 激情黄产视频在线免费观看| 成人日韩av| 欧美不卡高清一区二区三区| 不卡视频在线| 先锋影音久久久| 奇米狠狠一区二区三区| 精品网站999| 久久精品亚洲欧美日韩精品中文字幕| 蜜臀91精品国产高清在线观看| 亚洲免费一区二区| 国产欧美一区二区三区米奇 | 日韩欧乱色一区二区三区在线| 国产伦精品一区二区三区在线播放| 欧美aa在线视频| 成人精品天堂一区二区三区| 国产精品美女| 国产日韩免费| 成人在线免费观看网站| 不卡中文一二三区| 久久国产精品免费一区二区三区| 成人国产精品| 亚洲午夜久久| 麻豆精品久久久| 狠狠爱成人网| 日韩精品中文字幕吗一区二区 | 99精品99| 国产极品嫩模在线观看91精品| 精品网站aaa| 日本成人在线视频网站| 日本激情一区| 婷婷亚洲综合| 蜜臀国产一区二区三区在线播放 | 91九色精品| 美女在线视频一区| 国产白浆在线免费观看| 午夜影院一区| 欧美中文日韩| 欧美日韩伊人| 伊人久久国产| 国产精品嫩草99av在线| 99国产精品99久久久久久粉嫩| 欧美/亚洲一区| 日韩黄色免费网站| 国产精品天堂蜜av在线播放| 久久av影院| 欧美xxxx中国| 尤物网精品视频| 日韩在线观看不卡| 蜜臀av一区二区三区| 久久成人精品| 亚洲3区在线| 亚洲精品大片| 久久久久久自在自线| 日韩和欧美一区二区三区| 久久久久久夜| 欧美一区二区三区久久| 成人精品中文字幕| 国产欧美精品| 欧美精品一区二区久久| 欧美交a欧美精品喷水| 亚洲调教视频在线观看| 日韩综合一区二区| 老司机精品视频网| 综合激情网站| 日韩国产一区| 亚洲深深色噜噜狠狠爱网站| 久久精品国内一区二区三区| 激情欧美一区| 久久不见久久见中文字幕免费 | 91超碰国产精品| 日韩专区视频网站| 午夜久久福利| 老司机精品视频网| 免费在线观看成人| 欧美一区91| 国产精品美女午夜爽爽| 国产精品三上| 91成人精品在线| 亚洲a成人v| 欧美视频二区| 1024精品一区二区三区| 国产九九精品| 亚洲欧美高清| 精品一区av| 日韩精品一区二区三区中文| 秋霞影视一区二区三区| 久久精品999| 午夜亚洲精品| 999久久久免费精品国产| 久久亚洲黄色| 日韩一区二区三免费高清在线观看| 日韩中文欧美| a天堂资源在线| 日韩欧美精品一区二区综合视频| 丝袜a∨在线一区二区三区不卡| 成人久久一区| 六月婷婷综合| 日韩啪啪电影网| 精品成av人一区二区三区| 国产福利亚洲| 国产日韩欧美在线播放不卡| 青青草伊人久久| 午夜天堂精品久久久久| 亚洲主播在线| 影音先锋久久| 狠狠爱成人网| 亚洲精品网址| 蜜桃tv一区二区三区| 极品av在线| 精品中文字幕一区二区三区四区| 日韩精品成人在线观看| 亚洲制服欧美另类| 免费在线观看视频一区| 日韩午夜av在线| 婷婷综合在线| 国产一区日韩一区| 亚洲成av在线| 久久精品国产www456c0m| 色偷偷色偷偷色偷偷在线视频| 欧美国产免费| 老牛国内精品亚洲成av人片 | 亚洲欧美久久久| 日韩精品久久久久久久电影99爱| 亚洲一区欧美| 免费在线观看一区二区三区| 日韩一区二区免费看| 九一精品国产| 一区免费视频| 国产模特精品视频久久久久| 伊人影院久久| 国产视频一区在线观看一区免费| 99久久精品国产亚洲精品| 日韩在线看片| 欧美一区二区性| 亚洲成人二区| 亚洲欧美网站| 日韩午夜在线| 亚洲少妇在线| 蜜臀精品久久久久久蜜臀| 久久亚洲二区| 亚洲丝袜啪啪| 日韩亚洲精品在线观看| 国产精品网址| 国产a亚洲精品| 韩日一区二区三区| 先锋影音久久久| 久久国产精品免费精品3p| 久久av影院| 欧美理论视频| 日韩中文字幕av电影| 老牛国产精品一区的观看方式| 日本高清不卡一区二区三区视频| 日韩欧美视频专区| 91九色精品| 亚洲深深色噜噜狠狠爱网站| 97精品久久| 国产精品成人a在线观看| 92国产精品| 午夜国产精品视频| 国产欧美日韩精品高清二区综合区 | 亚洲理论在线| 日本一区二区三区中文字幕| 国产精品久久久久久久久久妞妞| 国产精品mm| 99久久久久| 视频一区二区中文字幕| 日韩在线成人| 国产日韩精品视频一区二区三区| 香蕉成人av| 免费人成黄页网站在线一区二区| 欧美精品三级在线| 福利精品一区| 精品91久久久久| 日韩毛片一区| 久久午夜影院| 欧美日韩在线二区| 蜜臀av一区二区三区| 色婷婷综合网| 六月婷婷一区| 国产激情综合| 黄色亚洲精品| 国产精品二区影院| 亚洲夜间福利|