




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、圖的連通性問題第第7 7章章 圖圖圖的定義和術(shù)語圖的存儲結(jié)構(gòu)圖的遍歷有向無環(huán)圖及其應(yīng)用最短路徑v最短路徑問題最短路徑問題7.6 最短路徑最短路徑 典型用途:交通問題。如:城市A到城市B有多條線路,但每條線路的交通費(或所需時間)不同,那么,如何選擇一條線路,使總費用(或總時間)最少?問題抽象:在帶權(quán)有向圖中A點(源點)到達(dá)B點(終點)的多條路徑中,尋找一條各邊權(quán)值之和最小的路徑,即最短路徑。(注:最短路徑與最小生成樹不同,路徑上不一定包含n個頂點)v最短路徑問題最短路徑問題7.6 最短路徑最短路徑 一頂點到其余各頂點兩種常見的最短路徑問題:一、單源最短路徑用Dijkstra(迪杰斯特拉)算法二
2、、所有頂點間的最短路徑用Floyd(弗洛伊德)算法任意兩頂點之間v單源單源最短路徑最短路徑 (Dijkstra算法算法)7.6 最短路徑最短路徑 目的: 設(shè)一有向圖G=(V, E),已知各邊的權(quán)值,以某指定點v0為源點,求從v0到圖的其余各點的最短路徑。限定各邊上的權(quán)值大于或等于0。源點從FA的路徑有4條: FA: 24 FBA: 518=23 FBCA:5+7+9=21 FDCA:25+12+9=36又:從FB的最短路徑是哪條?從FC的最短路徑是哪條?v0(v0, v1)10源點終點 最 短路 徑路徑長度(v0, v1, v2) (v0, v3, v2)(v0, v3)30 v1 v2 v3
3、 v4100(v0, v4)(v0, v3, v4)(v0, v3, v2, v4)例:例: 60 509070討論:計算機(jī)如何自動求出這些最短路徑?(v0, v1, v2, v4)60 V0 V1 V2 V3 V4V0 10 30 100V1 50 V2 50 10 V3 20 60 V4 20 V0 0V2 2V1 1V4 4V3 3101003010506020v單源單源最短路徑最短路徑 (Dijkstra算法算法)7.6 最短路徑最短路徑 V0 V1 V2 V3 V4V0 10 30 100V1 50 V2 50 10 V3 20 60 V4 20 V0 0V2 2V1 1V4 4V3
4、 3101003010506020思考:思考:v單源單源最短路徑最短路徑 (Dijkstra算法算法)7.6 最短路徑最短路徑 算法思想: 先找出從源點v0到各終點vk的直達(dá)路徑(v0, vk), 即通過一條弧到達(dá)的路徑。 從這些路徑中找出一條長度最短的路徑(v0, u), 然后對其余各條路徑進(jìn)行適當(dāng)調(diào)整: 若在圖中存在弧(u, vk),且(v0, u)+(u, vk) (v0, vk), 則以路徑(v0, u, vk) 代替(v0, vk) 。在調(diào)整后的各條路徑中,再找長度最短的路徑,依此類推??傊?,按路徑“長度” 遞增的次序來逐步產(chǎn)生最短路徑v單源單源最短路徑最短路徑 (Dijkstra算
5、法算法)7.6 最短路徑最短路徑 給定帶權(quán)有向圖G和源點v, 求從v到G中其余各頂點的最短路徑。V5V0V2V4V1V31003010601020505V0V2V4V3V5V0始點始點 終點終點 Di 最短路徑最短路徑V1V2V3V4 V510301001030100106030100106030100105030100(V0, V2)(V0, V4)(V0, V5)(V0, V2)(V0, V4)(V0, V5)(V0, V2)(V0, V2, V3)(V0, V4)(V0, V5)(V0, V2)(V0, V2, V3)(V0, V4)(V0, V5)(V0, V2)(V0, V4, V3
6、)(V0, V4)(V0, V5)10503090(V0, V2)(V0, V4, V3)(V0, V4)(V0, V4, V5)10503090(V0, V2)(V0, V4, V3)(V0, V4)(V0, V4, V5)10503060(V0, V2)(V0, V4, V3)(V0, V4)(V0, V4, V3, V5)10503060(V0, V2)(V0, V4, V3)(V0, V4)(V0, V4, V3, V5)(v0,v2)+ (v2,v3)(v0,v3)終終點點 從v0到各終點的dist值和最短路徑v1v2v3v4v5vjS之外的當(dāng)前最短路徑之頂點60v0,v2,v350
7、v0,v4,v330v0,v490v0,v4, v560v0,v4,v3,v5sv0,v2v0 ,v2 ,v4v0 ,v2 ,v4 ,v3 v0 ,v2 ,v4 ,v3 ,v510v0,v230v0,v4100v0, v50103010005050010200600v2v4v3v5100v0, v5012345distw0 1 2 3 4 5與最小生成樹的不同點:路徑是累加的!與最小生成樹的不同點:路徑是累加的!10v0,v250v0,v4,v330v0,v4V5V0V2V4V1V31003010601020505v所有頂點對之間的最短路徑所有頂點對之間的最短路徑(Floyd算法算法)7.6
8、最短路徑最短路徑 問題描述: 已知一個各邊權(quán)值均大于 0 的帶權(quán)有向圖,對每對頂點 vivj,要求求出每一對頂點之間的最短路徑和最短路徑長度。 解決方案: 1. 每次以一個頂點為源點,重復(fù)執(zhí)行迪杰斯特拉算法n次。這樣,便可求得每一對頂點之間的最短路徑??偟膱?zhí)行時間為O(n3)。 2. 形式更直接的弗洛伊德(Floyd)算法。時間復(fù)雜度也為O(n3)。弗洛伊德算法可求解負(fù)權(quán)值網(wǎng)絡(luò)!v弗洛伊德弗洛伊德算法算法思想思想7.6 最短路徑最短路徑 假設(shè)求從頂點Vi到Vj的最短路徑。如果從Vi到Vj有弧,則從Vi到Vj存在一條長度為arcsij的路徑,該路徑不一定是最短路徑,尚需進(jìn)行n次試探。 首先考慮路
9、徑(Vi,V0,Vj)是否存在(即判別(Vi,V0)、(V0,Vj)是否存在)。如存在,則比較(Vi,Vj)和(Vi,V0,Vj)的路徑長度,取長度較短者為從 Vi到Vj 的中間頂點的序號不大于0 的最短路徑。假如在路徑上再增加一個頂點 V1,依次類推??赏瑫r求得各對頂點間的最短路徑。v所有頂點對之間的最短路徑所有頂點對之間的最短路徑(Floyd算法算法)7.6 最短路徑最短路徑 定義一個n階方陣序列 D(-1),D(0),D(1),D(2),D(k),D(n-1)其中: D(-1)ij= arcsij D(k)ij=Min D(k-1)ij, D(k-1)ik+ D(k-1)kj 0kn-1
10、可見, D(1)ij就是從vi到vj的中間頂點的序號不大于1的最短路徑的長度; D(k)ij就是從vi到vj的中間頂點的序號不大于k的最短路徑的長度; D(n-1)ij就是從vi到vj的最短路徑的長度。v所有頂點對之間的最短路徑所有頂點對之間的最短路徑(Floyd算法算法)7.6 最短路徑最短路徑 0 4 116 0 23 0各頂點間的最短路徑及其路徑長度各頂點間的最短路徑及其路徑長度最短路徑弗洛伊德舉例最短路徑弗洛伊德舉例0 4 116 0 23 021CABCABCBCAABCABCABCABCBAABCABCABCABCBAACAB0210210210210P(2)P(1)P(0)P(-
11、1)P2107320564007320664007320611400 320611400210210210210D(2)D(1)D(0)D(-1)DCABCBAACABv所有頂點對之間的最短路徑所有頂點對之間的最短路徑(Floyd算法算法)7.6 最短路徑最短路徑5060123451038-4201734042-50560123451nil11nil12nilnilnil223nil3nilnilnil44nil4nilnil5nilnilnil5nilD0P0123451038-42017340425-50-2560123451nil11nil12nilnilnil
12、223nil3nilnilnil4414nil15nilnilnil5nilD1P1123451038-42017340425-50-2560123451nil11nil12nilnilnil223nil3nilnilnil4414nil15nilnilnil5nilD1P11234510384-42017340511425-50-2560123451nil11212nilnilnil223nil3nil224414nil15nilnilnil5nilD2P21234510384-42017340511425-50-2560123451nil11212nilnilnil223nil3nil22
13、4414nil15nilnilnil5nilD2P21234510384-4201734051142-1-50-2560123451nil11212nilnilnil223nil3nil224434nil15nilnilnil5nilD3P31234510384-4201734051142-1-50-2560123451nil11212nilnilnil223nil3nil224434nil15nilnilnil5nilD3P312345103-14-4230-41-137405342-1-50-2585160123451nil142124nil421343nil214434nil154345nilD4P412345103-14-4230-41-137405342-1-50-2585160123451nil142124nil421343nil214434nil154345nilD4P412345101-32-4230-41-137405342-1-50-2585160123451nil345124nil421343nil214434nil154345nilD5P512345101-32-4230-41-137405342-1-50-2585160123451nil345124nil421343nil21
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝學(xué)校合同范本
- 包車居間服務(wù)合同范本
- 鄉(xiāng)村園林出售合同范本
- 別墅大門購買合同范本
- 醫(yī)療旅行合同范本
- 倉庫分租協(xié)議合同范例
- 分包非標(biāo)工程合同范本
- 勞動配送合同范本
- 上牌購車合同范本
- 公寓欄桿維修合同范本
- 2024 河北公務(wù)員考試(筆試、省直、A類、C類)4套真題及答案
- 廈門2025年福建廈門市公安文職人員服務(wù)中心招聘17人筆試歷年參考題庫附帶答案詳解
- 2025年高三歷史教學(xué)工作計劃
- 《職業(yè)性肌肉骨骼疾患的工效學(xué)預(yù)防指南 》
- 不同產(chǎn)地筠連紅茶風(fēng)味化學(xué)成分差異分析
- DB50 577-2015 汽車整車制造表面涂裝大氣污染物排放標(biāo)準(zhǔn)
- 生態(tài)安全課件
- 消防風(fēng)道風(fēng)管施工方案
- 大學(xué)英語(西安歐亞學(xué)院)知到智慧樹章節(jié)測試課后答案2024年秋西安歐亞學(xué)院
- 人教版高中英語挖掘文本深度學(xué)習(xí)-選修四-UNIT-2-(答案版)
- 八下冀教版英語單詞表
評論
0/150
提交評論