精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Dijkstra 算法初探

開發 后端 算法
Dijkstra算法是典型的最短路徑算法,用于計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra算法能得出最短路徑的最優解,但由于它遍歷計算的節點很多,所以效率低。

Dijkstra 算法,又叫迪科斯徹算法(Dijkstra),算法解決的是有向圖中單個源點到其他頂點的最短路徑問題。

舉例來說,如果圖中的頂點表示城市,而邊上的權重表示著城市間開車行經的距離,Dijkstra 算法可以用來找到兩個城市之間的最短路徑。

一、Dijkstra 的算法實現

Dijkstra 算法的輸入包含了一個有權重的有向圖 G,以及G中的一個來源頂點 S。

我們以 V 表示 G 中所有頂點的集合,以 E 表示G 中所有邊的集合。(u, v) 表示從頂點 u 到 v 有路徑相連,而邊的權重則由權重函數 w: E → [0, ∞] 定義。

因此,w(u, v) 就是從頂點 u 到頂點 v 的非負花費值(cost),邊的花費可以想像成兩個頂點之間的距離。任兩點間路徑的花費值,就是該路徑上所有邊的花費值總和。

已知有 V 中有頂點 s 及 t,Dijkstra 算法可以找到 s 到 t 的最低花費路徑(例如,最短路徑)。這個算法也可以在一個圖中,找到從一個頂點 s 到任何其他頂點的最短路徑。

好,咱們來看下此算法的具體實現:

Dijkstra 算法的實現一(維基百科):

u := Extract_Min(Q) 在頂點集合 Q 中搜索有最小的 d[u] 值的頂點 u。這個頂點被從集合 Q 中刪除并返回給用戶。

  1. function Dijkstra(G, w, s)  
  2. for each vertex v in V[G]                        // 初始化  
  3.           d[v] := infinity  
  4.           previous[v] := undefined  
  5.     d[s] := 0  
  6.     S := empty set  
  7.    Q := set of all vertices  
  8.     while Q is not an empty set                      // Dijkstra演算法主體  
  9.           u := Extract_Min(Q)  
  10.           S := S union {u}  
  11.         for each edge (u,v) outgoing from u  
  12.              if d[v] > d[u] + w(u,v)             // 拓展邊(u,v)  
  13.                       d[v] := d[u] + w(u,v)  
  14.                        previous[v] := u  

如果我們只對在 s 和 t 之間尋找一條最短路徑的話,我們可以在第9行添加條件如果滿足 u = t 的話終止程序。現在我們可以通過迭代來回溯出 s 到 t 的最短路徑.

  1. s := empty sequence   
  2. u := t  
  3. while defined u                                          
  4.    insert u to the beginning of S  
  5.    u := previous[u] 

現在序列 S 就是從 s 到 t 的最短路徑的頂點集.

Dijkstra 算法的實現二(算法導論):

  1. DIJKSTRA(G, w, s)  
  2.  INITIALIZE-SINGLE-SOURCE(G, s)  
  3.  S ← Ø  
  4.  Q ← V[G]                                 //V*O(1)  
  5. while Q ≠ Ø  
  6.    do u ← EXTRACT-MIN(Q)     //EXTRACT-MIN,V*O(V),V*O(lgV)  
  7.     S ← S ∪{u}  
  8.   for each vertex v ∈ Adj[u]  
  9.   do RELAX(u, v, w)       //松弛技術,E*O(1),E*O(lgV)。 

因為Dijkstra算法總是在V-S中選擇“最輕”或“最近”的頂點插入到集合S中,所以我們說它使用了貪心策略。

此Dijkstra 算法的最初的時間復雜度為O(V*V+E),源點可達的話,O(V*lgV+E*lgV)=>O(E*lgV)
當是稀疏圖的情況時,E=V*V/lgV,算法的時間復雜度可為O(V^2)。

但我們知道,若是斐波那契堆實現優先隊列的話,算法時間復雜度,則為O(V*lgV + E)。

二、Dijkstra 算法的執行速度

我們可以用大O符號將Dijkstra 算法的運行時間表示為邊數 m 和頂點數 n 的函數。Dijkstra 算法最簡單的實現方法是用一個鏈表或者數組來存儲所有頂點的集合 Q,所以搜索 Q 中最小元素的運算(Extract-Min(Q))只需要線性搜索 Q 中的所有元素。
這樣的話算法的運行時間是 O(E^2)。

對于邊數少于 E^2 的稀疏圖來說,我們可以用鄰接表來更有效的實現迪科斯徹算法。同時需要將一個二叉堆或者斐波納契堆用作優先隊列來尋找最小的頂點(Extract-Min)。

當用到二叉堆時候,算法所需的時間為O(( V+E )logE),斐波納契堆能稍微提高一些性能,讓算法運行時間達到O(V+ElogE)。

開放最短路徑優先(OSPF, Open Shortest Path First)算法是迪科斯徹算法在網絡路由中的一個具體實現。與 Dijkstra 算法不同,Bellman-Ford算法可用于具有負數權值邊的圖,只要圖中不存在總花費為負值且從源點 s 可達的環路即可用此算法(如果有這樣的環路,則最短路徑不存在,因為沿環路循環多次即可無限制的降低總花費)。

與最短路徑問題相關最有名的一個問題是旅行商問題(Traveling salesman problem),此類問題要求找出恰好通過所有標點一次且最終回到原點的最短路徑。

然而該問題為NP-完全的;換言之,與最短路徑問題不同,旅行商問題不太可能具有多項式時間解法。如果有已知信息可用來估計某一點到目標點的距離,則可改用A*搜尋算法,以減小最短路徑的搜索范圍。

BFS、DFS、Kruskal、Prim、Dijkstra算法時間復雜度的比較:

一般說來,我們知道,BFS,DFS算法的時間復雜度為O(V+E),最小生成樹算法Kruskal、Prim算法的時間復雜度為O(E*lgV)。而Prim算法若采用斐波那契堆實現的話,算法時間復雜度為O(E+V*lgV),當|V|<<|E|時,E+V*lgV是一個較大的改進。//|V|<<|E|,=>O(E+V*lgV) << O(E*lgV),對吧。

Dijkstra 算法,斐波納契堆用作優先隊列時,算法時間復雜度為O(V*lgV + E)。//看到了吧,與Prim算法采用斐波那契堆實現時,的算法時間復雜度是一樣的。

所以我們,說,BFS、Prime、Dijkstra 算法是有相似之處的,單從各算法的時間復雜度比較看,就可窺之一二。

三、圖文解析 Dijkstra 算法

 經過上文有點繁雜的信息,你還并不對此算法了如指掌,清晰透徹。沒關系,咱們來幅圖,就好了。請允許我再對此算法的概念闡述下,

Dijkstra算法是典型最短路徑算法,用于計算一個節點到其他所有節點的最短路徑。
不過,針對的是非負值權邊。

主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。
[Dijkstra算法能得出最短路徑的最優解,但由于它遍歷計算的節點很多,所以效率低。

請看下圖:

如下圖,設A為源點,求A到其他各所有一一頂點(B、C、D、E、F)的最短路徑。線上所標注為相鄰線段之間的距離,即權值。

(注:此圖為隨意所畫,其相鄰頂點間的距離與圖中的目視長度不能一一對等)

Dijkstra無向圖

 

算法執行步驟如下表:

是不是對此Dijkstra 算法有不錯的了解了。那么,此文也完了。

原文鏈接:http://blog.csdn.net/v_JULY_v/archive/2010/12/24/6096981.aspx

【編輯推薦】

  1. 幾大最短路徑算法比較
  2. 在C/C++算法設計中使用任意位寬
  3. java算法之字符組合排序
  4. Java實現通用組合算法
  5. Android Market排名算法及規則分析
責任編輯:于鐵 來源: CSDN
相關推薦

2011-05-17 14:29:29

Dijkstra

2021-03-10 09:50:15

算法Dijkstra短路問題

2012-02-09 09:00:54

匯編語言

2023-10-25 09:00:00

算法Dijkstra算法

2021-01-28 10:55:31

算法可視化數據

2016-10-11 13:48:41

WebGLJavascriptWeb

2010-06-03 12:57:06

Hadoop

2009-06-24 13:22:27

Glassfish

2011-01-26 09:14:43

數據挖掘

2011-04-18 09:53:08

Ruby

2013-06-24 09:37:34

OSPF協議SPF算法路由技術

2014-11-20 15:44:40

Apple Watch

2015-01-21 16:35:49

Apple WatchWatchKit

2012-02-29 15:03:30

2025-08-11 09:18:00

2024-10-28 09:20:00

2012-04-05 13:50:38

Java

2011-08-24 09:30:29

JavaJVM

2012-07-09 10:22:28

Mono for An

2013-04-10 11:23:27

點贊
收藏

51CTO技術棧公眾號

亚洲综合丝袜美腿| 九九九久久久精品| 亚洲精品一区二区久| 波多野结衣作品集| a黄色片在线观看| www.亚洲免费av| 国产精品视频网| 久久中文字幕无码| 波多野结衣在线观看一区二区三区| 91麻豆精品国产91久久久更新时间| 激情小视频网站| 成年人在线视频免费观看| 国产成人综合网| 国产91在线视频| 久久精品一级片| 日韩国产综合| 亚洲精品国精品久久99热一| 日本三级黄色网址| 无遮挡爽大片在线观看视频| 国产精品电影院| 欧美极品一区| 亚洲国产www| 美国毛片一区二区三区| 91av视频在线免费观看| 欧美老熟妇一区二区三区| 亚洲婷婷伊人| 日韩欧美www| 激情五月俺来也| 黑人巨大精品| 亚洲自拍偷拍av| 五月天色婷婷综合| 搞黄视频在线观看| 91在线一区二区三区| 亚洲自拍欧美另类| 中文字幕网址在线| 日韩黄色在线观看| 4438全国亚洲精品在线观看视频| 久久久精品一区二区涩爱| 日韩理论片av| 中文字幕日韩在线视频| 老司机福利av| 日本国产精品| 亚洲护士老师的毛茸茸最新章节 | 性国产高清在线观看| 国产欧美一区二区精品仙草咪| 韩国成人一区| 亚洲国产综合一区| 国产传媒日韩欧美成人| 成人免费网站在线| 国产一区二区在线视频观看| 蜜桃视频一区二区三区| 日本a级片电影一区二区| 五月天婷婷综合网| 国产精品日韩精品欧美精品| 国自产精品手机在线观看视频| 久久精品www| 亚洲激情不卡| 91成人福利在线| 中文字字幕在线中文| 夜久久久久久| 日韩av黄色在线观看| av大全在线观看| 水野朝阳av一区二区三区| 国产999在线观看| 337p粉嫩色噜噜噜大肥臀| 日韩国产精品久久久久久亚洲| 国产va免费精品高清在线| 国产精品无码粉嫩小泬| 男女男精品视频网| 91在线网站视频| www.精品久久| 99久久综合国产精品| 久久久一本精品99久久精品66| 神马久久精品| 中文字幕国产一区| 欧美爱爱视频网站| 国产99re66在线视频| 午夜激情一区二区三区| 妺妺窝人体色www在线小说| 香蕉久久免费电影| 亚洲久久在线观看| 美国av一区二区| 99精品99久久久久久宅男| 日本国产在线观看| 久久久久88色偷偷免费| 午夜一区二区三区| 色在线视频网| 欧美性极品少妇精品网站| 午夜免费高清视频| 日韩一区网站| 亚洲欧美精品中文字幕在线| 日本不卡一二区| 精品成人一区| 国产精品视频男人的天堂| 国产丝袜在线视频| 久久综合一区二区| 懂色av一区二区三区四区五区| 里番在线播放| 欧美视频一区二区三区四区| 国产伦理在线观看| 欧美日韩色图| 久久久视频在线| 亚洲天堂视频网| 99精品视频在线观看| 亚洲综合欧美日韩| 625成人欧美午夜电影| 777xxx欧美| 日本japanese极品少妇| 国产精品毛片久久| 日韩av免费在线| 亚洲精品18p| 国产精品久久久一本精品| 亚洲熟妇无码一区二区三区导航| 本网站久久精品| 精品无码久久久久久国产| 一区二区三区影视| 日本免费在线视频不卡一不卡二| 福利视频久久| 男人在线资源站| 在线国产亚洲欧美| 国产精品无码专区| 欧美精品九九| 成人网页在线免费观看| 国产在线观看黄| 五月激情六月综合| 欧美熟妇另类久久久久久多毛| 国产99亚洲| 2019中文字幕在线观看| 亚洲国产精品成人久久蜜臀| 欧美国产日韩a欧美在线观看| 日本十八禁视频无遮挡| ccyy激情综合| 欧美激情极品视频| va视频在线观看| 亚洲欧洲国产日本综合| 亚洲高清在线免费观看| 伊人春色之综合网| 欧美一区亚洲一区| 日本精品专区| 色综合久久综合| 国产特黄级aaaaa片免| 亚洲黑丝一区二区| 狠狠久久综合婷婷不卡| 成人一级福利| 精品视频在线播放免| aaa人片在线| 91丝袜美腿高跟国产极品老师 | 日韩在线视频网址| 久草这里只有精品视频| 一区二区精品免费视频| 欧美爱爱视频| 麻豆国产精品va在线观看不卡 | av不卡在线免费观看| a屁视频一区二区三区四区| 亚洲人成电影在线播放| 日本黄色中文字幕| 欧美国产精品一区二区| 一女二男3p波多野结衣| 久久精品青草| aaa级精品久久久国产片| 日本h片在线| 亚洲黄色av女优在线观看| 九九热在线免费观看| 久久久亚洲国产美女国产盗摄| 无码无遮挡又大又爽又黄的视频| 久久91成人| 国产精品视频久久久久| www国产在线观看| 欧美成人一区二区| 狠狠躁夜夜躁人人爽天天高潮| 92国产精品观看| 91网址在线播放| 在线看片不卡| 精品不卡一区二区三区| 亚洲天堂一区二区| 日韩一级黄色av| 性做久久久久久久久久| 五月天视频一区| 日本爱爱爱视频| 国产乱码字幕精品高清av| 国产一二三在线视频| 久久99精品久久久久久园产越南| 国产精品青草久久久久福利99| 成人日韩欧美| 亚洲精品网址在线观看| 91丨九色丨蝌蚪丨对白| 亚洲国产成人av好男人在线观看| 亚洲做受高潮无遮挡| 久久99精品久久久久久国产越南| 国产肉体ⅹxxx137大胆| 国产一区网站| 999视频在线观看| 亚洲精品一区| 欧美理论片在线观看| 亚洲欧美丝袜中文综合| 欧美猛男男办公室激情| 日韩视频免费观看高清| 国产精品久久福利| 日韩精品视频一区二区| 麻豆精品久久精品色综合| 亚洲国产精品成人天堂| 日韩三级在线| 久久精品午夜一区二区福利| 亚洲日韩中文字幕一区| 2019av中文字幕| 国产福利视频在线观看| 国产亚洲精品久久久优势| 亚洲精品国产av| 欧美日韩国产影片| 国产高清中文字幕| 亚洲丶国产丶欧美一区二区三区| 亚洲一区二区自偷自拍 | 久久久亚洲人| 欧美 日韩 国产精品| 日韩亚洲一区在线| 欧美日韩电影一区二区| 都市激情亚洲欧美| 91亚洲va在线va天堂va国| 欧美精选视频一区二区| 国内精品久久影院| 色帝国亚洲欧美在线| 啊v视频在线一区二区三区| 嫩草在线播放| 日韩高清有码在线| 亚洲黄色在线观看视频| 91精品国产高清一区二区三区蜜臀 | caoporen国产精品| 台湾天天综合人成在线| 欧美自拍视频在线观看| 高端美女服务在线视频播放| 欧美精品免费看| 国产在线观看av| 久久精品99久久久香蕉| av在线电影播放| 亚洲性视频网址| 精品av中文字幕在线毛片| 亚洲精品在线一区二区| 亚洲av少妇一区二区在线观看| 欧美一二三在线| 国产美女www爽爽爽视频| 欧美人伦禁忌dvd放荡欲情| 99re国产在线| 色婷婷av一区二区三区之一色屋| caoporn国产| 色综合久久中文字幕综合网| 天堂网av手机版| 欧美日韩美女在线| 伦av综合一区| 日本高清不卡一区| 老熟妇一区二区三区| 色激情天天射综合网| www.com亚洲| 欧美视频一区在线观看| 一区二区不卡视频在线观看| 欧美二区三区的天堂| 国产精品羞羞答答在线| 欧美一级久久久久久久大片| 精品人妻无码一区二区色欲产成人 | 亚洲综合免费观看高清完整版在线| 91嫩草丨国产丨精品| 一区二区三区中文字幕精品精品| 欧美日韩免费一区二区| 亚洲一区二区三区免费视频| 国产成人免费观看视频| 91国偷自产一区二区三区成为亚洲经典 | 亚洲欧洲精品一区二区| 久久精品青草| 男人插女人视频在线观看| 亚洲综合电影一区二区三区| 国产视频在线视频| 国内欧美视频一区二区| 极品白嫩的小少妇| 久久亚洲一区二区三区明星换脸 | 肉丝美足丝袜一区二区三区四| 国产成人在线色| 亚洲一区二区三区四区五区六区| 久久久久久影视| 老头老太做爰xxx视频| 亚洲人成亚洲人成在线观看图片 | 国产精品女主播一区二区三区| 日本美女高潮视频| 国产成人免费在线| 亚洲激情视频小说| 亚洲精品乱码久久久久久日本蜜臀 | 日本不卡高清| 丁香六月激情网| 日本视频中文字幕一区二区三区| 国产成人美女视频| 91视频国产观看| 男人的午夜天堂| 天天色天天操综合| 国产又大又粗又长| 日韩av影院在线观看| 蜜桃视频在线免费| 九九精品在线视频| 亚洲最新无码中文字幕久久| 91免费欧美精品| 久久av超碰| 成人免费观看在线| 免费一级片91| 亚洲av网址在线| 亚洲激情图片小说视频| 亚洲熟妇无码乱子av电影| 欧美大片一区二区| √天堂资源地址在线官网| 91高清在线免费观看| 国产精品**亚洲精品| 日本一区精品| 亚洲免费高清| 女王人厕视频2ⅴk| 日本一二三不卡| 看片网址国产福利av中文字幕| 8x8x8国产精品| 啊v视频在线| 日本一本a高清免费不卡| 豆花视频一区二区| 国产资源第一页| 免费的国产精品| 波多野结衣a v在线| 精品久久久久久久久久国产 | 精品无码国产一区二区三区av| 麻豆成人91精品二区三区| 免费在线观看你懂的| 亚洲国产欧美另类丝袜| 国产成人三级在线播放 | 我要看黄色一级片| 欧美在线播放高清精品| 欧美成人免费| 欧美一级成年大片在线观看| 超碰97成人| 福利视频免费在线观看| 国产精品综合一区二区三区| 校园春色亚洲| 丝袜a∨在线一区二区三区不卡 | 好操啊在线观看免费视频| 国产成人高清激情视频在线观看| 韩国女主播一区二区三区| 91视频 - 88av| 国产精品一二三| 外国一级黄色片| 欧美一区二区三区的| 免费大片黄在线观看视频网站| 国产精品女视频| 日韩中文在线电影| 天天干天天玩天天操| 国产精品私人自拍| 中文字幕一区2区3区| 中文字幕成人在线| 九九九精品视频| youjizz.com亚洲| 国产在线精品一区二区不卡了 | 天天亚洲美女在线视频| 少妇荡乳情欲办公室456视频| 久久久久久网站| 秋霞蜜臀av久久电影网免费| 成熟了的熟妇毛茸茸| 久久无码av三级| 日批视频免费观看| 久久精品国亚洲| 免费精品一区| 国产 日韩 欧美在线| 久久美女高清视频| 最近中文字幕在线视频| 久久激情五月丁香伊人| caoporn成人| 91av在线免费播放| 国产精品色婷婷久久58| av资源免费看| 性欧美激情精品| av中文一区| 91在线第一页| 午夜精品在线看| 第一页在线观看| 97久久夜色精品国产九色| 亚洲激情偷拍| 国产熟女一区二区| 欧美一级片在线看| 欧美男男激情videos| 五月天亚洲综合情| 国产成人免费视频一区| 精品国产午夜福利| 日韩视频永久免费观看| 国产厕拍一区| 制服丝袜综合网| 亚洲福利一区二区三区| 国产精品视频二区三区| 91麻豆桃色免费看| 亚洲欧美久久| 免费国产羞羞网站美图| 日韩电影在线观看中文字幕| 国产精品久久乐| 国产男女免费视频| 国产精品电影一区二区| 污污网站免费在线观看| 国产中文字幕91| 国产亚洲综合精品| 日本妇女毛茸茸| 亚洲图片欧洲图片av| 99久久免费精品国产72精品九九 | jizz亚洲女人高潮大叫|