最短路徑算法—Dijkstra 總結.doc

最短路徑算法—Dijkstra 總結.doc

ID:48214799

大?。?08.00 KB

頁數:12頁

時間:2020-01-22

最短路徑算法—Dijkstra 總結.doc_第1頁
最短路徑算法—Dijkstra 總結.doc_第2頁
最短路徑算法—Dijkstra 總結.doc_第3頁
最短路徑算法—Dijkstra 總結.doc_第4頁
最短路徑算法—Dijkstra 總結.doc_第5頁
資源描述:

《最短路徑算法—Dijkstra 總結.doc》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、Dijkstra算法解釋本文引用三篇文章:分別是謝光新-Dijkstra算法,zx770424?-Dijkstra算法,中華兒女英雄?-Dijkstra算法有興趣的朋友請引用原文,由于分類很不相同難以查找,此處僅作匯總。謝光新的文章淺顯易懂,無需深入的數學功力,每一步都有圖示,很適合初學者了解。zx770424將每一步過程,都用圖示方式和公式代碼偽代碼對應也有助于,代碼的理解。中華兒女英雄從大面上總結了Dijkstra的思想,并將演路圖描敘出來了。起到總結的效果。希望這篇匯總有助于大家對Dijk

2、stra算法的理解。12Dijkstra算法是典型最短路算法,用于計算一個節(jié)點到其他所有節(jié)點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra算法能得出最短路徑的最優(yōu)解,但由于它遍歷計算的節(jié)點很多,所以效率低。簡介  Dijkstra(迪杰斯特拉)算法是典型的單源最短路徑算法,用于計算一個節(jié)點到其他所有節(jié)點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra算法是很有代表性的最短路徑算法,在很多專業(yè)課程中都作為基本內容有詳細的介

3、紹,如數據結構,圖論,運籌學等等。Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標號方式,一種是用OPEN,CLOSE表的方式,這里均采用永久和臨時標號的方式。注意該算法要求圖中不存在負權邊。算法描述  (這里描述的是從節(jié)點1開始到各點的dijkstra算法,其中Wa->b表示a->b的邊的權值,d(i)即為最短路徑值)  1.置集合S={2,3,...n},?數組d(1)=0,d(i)=W1->i(1,i之間存在邊)or+無窮大(1.i之間不存在邊)  2.在S中,令d(j)=min

4、{d(i),i屬于S},令S=S-{j},若S為空集則算法結束,否則轉3  3.對全部i屬于S,如果存在邊j->i,那么置d(i)=min{d(i),d(j)+Wj->i},轉2  Dijkstra算法思想為:設G=(V,E)是一個帶權有向圖,把圖中頂點集合V分成兩組,第一組為已求出最短路徑的頂點集合(用S表示,初始時S中只有一個源點,以后每求得一條最短路徑,就將加入到集合S中,直到全部頂點都加入到S中,算法就結束了),第二組為其余未確定最短路徑的頂點集合(用U表示),按最短路徑長度的遞增次序依次

5、把第二組的頂點加入S中。在加入的過程中,總保持從源點v到S中各頂點的最短路徑長度不大于從源點v到U中任何頂點的最短路徑長度。此外,每個頂點對應一個距離,S中的頂點的距離就是從v到此頂點的最短路徑長度,U中的頂點的距離,是從v到此頂點只包括S中的頂點為中間頂點的當前最短路徑長度。  算法具體步驟  ?。?)初始時,S只包含源點,即S=,v的距離為0。U包含除v外的其他頂點,U中頂點u距離為邊上的權(若v與u有邊)或)(若u不是v的出邊鄰接點)?! 。?)從U中選取一個距離v最小的頂點k,把k,加入S

6、中(該選定的距離就是v到k的最短路徑長度)?! 。?)以k為新考慮的中間點,修改U中各頂點的距離;若從源點v到頂點u(uU)的距離(經過頂點k)比原來距離(不經過頂點k)短,則修改頂點u的距離值,修改后的距離值的頂點k的距離加上邊上的權。 ?。?)重復步驟(2)和(3)直到所有頂點都包含在S中。復雜度分析  Dijkstra算法的時間復雜度為O(n^2)12空間復雜度取決于存儲方式,鄰接矩陣為O(n^2)1212121212121212Dijkstra算法的基本思想是:1212

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。