下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、最短路徑之 Dijkstra 算法詳細(xì)講解1 最短路徑算法在日常生活中,我們?nèi)绻枰3M?A 地區(qū)和 B 地區(qū)之間,我們最希望 知道的可能是從A地區(qū)到B地區(qū)間的眾多路徑中,那一條路徑的路途最短。最 短路徑問題是圖論研究中的一個(gè)經(jīng)典算法問題,旨在尋找圖(由結(jié)點(diǎn)和路徑組成的)中兩結(jié)點(diǎn)之間的最短路徑。算法具體的形式包括:(1) 確定起點(diǎn)的最短路徑問題:即已知起始結(jié)點(diǎn),求最短路徑的問題。(2) 確定終點(diǎn)的最短路徑問題:與確定起點(diǎn)的問題相反,該問題是已知終結(jié)結(jié)點(diǎn),求最短路徑的問題。在 無向圖中該問題與確定起點(diǎn)的問題完全等同,在有向圖中該問題等同于把所有 路徑方向反轉(zhuǎn)的確定起點(diǎn)的問題。(3) 確定起點(diǎn)
2、終點(diǎn)的最短路徑問題:即已知起點(diǎn)和終點(diǎn),求兩結(jié)點(diǎn)之間的最短路徑。(4) 全局最短路徑問題:求圖中所有的最短路徑。用于解決最短路徑問題的算法被稱做 “最短路徑算法 ”,有時(shí)被簡稱作 “路徑 算法”。最常用的路徑算法有:Dijkstra 算法、A*算法、Bellman-Ford 算法、Floyd-Warshall算法、Johnson 算法。本文主要研究 Dijkstra 算法的單源算法。2 Dijkstra 算法2.1 Dijkstra 算法Dijkstra 算法是典型最短路算法,用于計(jì)算一個(gè)節(jié)點(diǎn)到其他所有節(jié)點(diǎn)的最短 路徑。主要特點(diǎn)是以起始點(diǎn)為中心向外層層擴(kuò)展,直到擴(kuò)展到終點(diǎn)為止。Dijkstra
3、算法能得出最短路徑的最優(yōu)解,但由于它遍歷計(jì)算的節(jié)點(diǎn)很多,所 以效率低。Dijkstra 算法是很有代表性的最短路算法,在很多專業(yè)課程中都作為基本內(nèi) 容有詳細(xì)的介紹,如數(shù)據(jù)結(jié)構(gòu),圖論,運(yùn)籌學(xué)等等。2.2 Dijkstra 算法思想Dijkstra 算法思想為:設(shè)G=(V,E是一個(gè)帶權(quán)有向圖,把圖中頂點(diǎn)集合 V分成兩組,第一組為已求 出最短路徑的頂點(diǎn)集合(用 S表示,初始時(shí)S中只有一個(gè)源點(diǎn),以后每求得一條 最短路徑,就將加入到集合S中,直到全部頂點(diǎn)都加入到 S中,算法就結(jié)束了), 第二組為其余未確定最短路徑的頂點(diǎn)集合 (用 U 表示),按最短路徑長度的遞增次 序依次把第二組的頂點(diǎn)加入 S中。在加入
4、的過程中,總保持從源點(diǎn) v到S中各 頂點(diǎn)的最短路徑長度不大于從源點(diǎn) v到U中任何頂點(diǎn)的最短路徑長度。此外, 每個(gè)頂點(diǎn)對(duì)應(yīng)一個(gè)距離,S中的頂點(diǎn)的距離就是從v到此頂點(diǎn)的最短路徑長度, U中的頂點(diǎn)的距離,是從v到此頂點(diǎn)只包括S中的頂點(diǎn)為中間頂點(diǎn)的當(dāng)前最短路 徑長度。2.3 Dijkstra 算法具體步驟(1)初始時(shí),S只包含源點(diǎn),即S二,v的距離為0。U包含除v外的其他頂 點(diǎn),U中頂點(diǎn)u距離為邊上的權(quán)(若v與u有邊咸)(若u不是v的出邊鄰接點(diǎn))。從U中選取一個(gè)距離v最小的頂點(diǎn)k,把k,加入S中(該選定的距離就 是v到k的最短路徑長度)。(3)以k為新考慮的中間點(diǎn),修改U中各頂點(diǎn)的距離;若從源點(diǎn)v到頂點(diǎn) u(uU)的距離(經(jīng)過頂點(diǎn)k)比原來距離(不經(jīng)過頂點(diǎn)k)短,則修改頂點(diǎn)u的距離 值,修改后的距離值的頂點(diǎn)k的距離加上邊上的權(quán)。(4)重復(fù)步驟(2) 和(3) 直到所有頂點(diǎn)都包含在 Sxx。2.4 Dijkstra 算法舉例說明如下圖,設(shè)A為源點(diǎn),求A到其他各頂點(diǎn)(B、C、D、E、F)的最短路徑。線上所標(biāo)注為相鄰線段之間的距離,即權(quán)值。 (注: 此圖為隨意所畫,其相鄰頂點(diǎn)間的距離與圖中的目視長度不能一一對(duì)等 )
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能門禁系統(tǒng)與訪客管理系統(tǒng)集成合同4篇
- 二零二五年度新材料研發(fā)項(xiàng)目擔(dān)保合同范本
- 2025版模具檢測與認(rèn)證購銷合同4篇
- 2025年度農(nóng)機(jī)租賃服務(wù)與維修保障合同4篇
- 二零二五年度會(huì)議中心場地租賃合同示范文本4篇
- 二零二五年度塔吊司機(jī)勞動(dòng)合同(安全責(zé)任書)
- 2025年度農(nóng)業(yè)生態(tài)保護(hù)補(bǔ)償機(jī)制合同范本2篇
- 2025年度鋼材國際貿(mào)易關(guān)稅減免申請(qǐng)合同
- 2025年度摩托車改裝件銷售及安裝服務(wù)合同7篇
- 二零二五年度幼兒托管班安全管理服務(wù)合同下載2篇
- GB/T 12723-2024單位產(chǎn)品能源消耗限額編制通則
- GB/T 16288-2024塑料制品的標(biāo)志
- 麻風(fēng)病防治知識(shí)課件
- 干部職級(jí)晉升積分制管理辦法
- TSG ZF003-2011《爆破片裝置安全技術(shù)監(jiān)察規(guī)程》
- 2024年代理記賬工作總結(jié)6篇
- 電氣工程預(yù)算實(shí)例:清單與計(jì)價(jià)樣本
- VOC廢氣治理工程中電化學(xué)氧化技術(shù)的研究與應(yīng)用
- 煤礦機(jī)電設(shè)備培訓(xùn)課件
- 高考寫作指導(dǎo)議論文標(biāo)準(zhǔn)語段寫作課件32張
- 2021年普通高等學(xué)校招生全國英語統(tǒng)一考試模擬演練八省聯(lián)考解析
評(píng)論
0/150
提交評(píng)論