




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
11.問題的提出:已知一個各邊權(quán)值均大于0的帶權(quán)有向圖,對每一對頂點(diǎn)vi
vj,要求求出vi
與vj之間的最短路徑和最短路徑長度。2.解決辦法方法一:每次以一個頂點(diǎn)為源點(diǎn),重復(fù)執(zhí)行Dijkstra算法n次——T(n)=O(n3)方法二:弗洛伊德(Floyd)算法11.問題的提出:已知一個各邊權(quán)值均大于0的帶權(quán)有向圖,對每12求最短路徑步驟初始時設(shè)置一個n階方陣,令其對角線元素為0,若存在弧<Vi,Vj>,則對應(yīng)元素為權(quán)值;否則為逐步試著在原直接路徑中增加中間頂點(diǎn),若加入中間點(diǎn)后路徑變短,則修改之;否則,維持原值所有頂點(diǎn)試探完畢,算法結(jié)束3.Floyd算法思想:逐個頂點(diǎn)試探法2求最短路徑步驟3.Floyd算法思想:逐個頂點(diǎn)試探法2從圖的帶權(quán)鄰接矩陣G.arcs出發(fā),假設(shè)求頂點(diǎn)Vi到Vj的最短路徑。如果從Vi到Vj有弧,則從Vi到Vj存在一條長度為G.arcs[i][j]的路徑,但該路徑是否一定是最短路徑,還需要進(jìn)行n次試探。
1.第一次,判別(Vi,V0)和(V0,Vj),即判別(Vi,V0,Vj)是否存在,若存在,則比較(Vi,Vj)和(Vi,V0,Vj)的長度,取長度較短的為從Vi到Vj的中間頂點(diǎn)序號不大于0的最短路徑。從圖的帶權(quán)鄰接矩陣G.arcs出發(fā),假設(shè)求頂點(diǎn)Vi到Vj3
2.第二次,再加一個頂點(diǎn)V1,如果(Vi,…,V1)和(V1,…,Vj)分別是當(dāng)前找到的中間頂點(diǎn)序號不大于0的最短路徑,那么(Vi,…,V1,…,Vj)就有可能是從Vi到Vj的中間頂點(diǎn)序號不大于1的最短路徑。將它和已經(jīng)得到的從Vi到Vj之間頂點(diǎn)序號不大于0的最短路徑相比較,取較短者為從Vi到Vj的中間頂點(diǎn)序號不大于1的最短路徑。
3.第三次,再加一個頂點(diǎn)V2,繼續(xù)進(jìn)行試探。
2.第二次,再加一個頂點(diǎn)V1,如果(Vi,…,4V2V3V0V1123456890123012301240092350801608888D(-1)=
D(-1)為有向網(wǎng)的鄰接矩陣
第一步:以D(-1)為基礎(chǔ),以V0為中間頂點(diǎn),求從Vi到Vj的最短路徑。該路徑或者為從Vi到Vj的邊,或者為(Vi,V0)+(V0,Vj)。
D(0)[i][j]=
min{D(-1)[i][j],
D(-1)[i][0]+D(-1)[0][j]}47D(0)=
D(0)[i][j]為從Vi到Vj的中間頂點(diǎn)序號不大于0的最短路徑長度.V0V2V3V0V1123456890125V2V3V0V112345689
以D(0)為基礎(chǔ),以V1為中間頂點(diǎn),求從Vi,到Vj的最短路徑。該路徑或者為從Vi到Vj的邊,或者為從Vi開始通過V0或V1到達(dá)Vj的最短路徑。
D(1)[i][j]=
min{D(0)[i][j],
D(0)[i][1]+D(0)[1][j]}0123012301240092350801608888A(-1)=47D(0)=1036D(1)=V0V1V0V1V2V3V0V112345689以D(0)為基礎(chǔ),以V6V2V3V0V112345689
以D(1)為基礎(chǔ),以V2為中間頂點(diǎn),求從Vi,到Vj的最短路徑?;蛘邽閺腣i到Vj的邊,或者為從Vi開始通過V0,V1,V2到達(dá)Vj的最短路徑。
D(2)[i][j]=
min{D(1)[i][j],
D(1)[i][2]+D(1)[2][j]}0123012301240092350801608888A(-1)=47A(0)=1036D(1)=D(2)=12
910V0V1V2V2V3V0V112345689以D(1)為基礎(chǔ),以V70123012301240092350801608888A(-1)=47A(0)=1036A(1)=D(2)=12
910D(3)=V2V3V0V112345689
以D(2)為基礎(chǔ),以V3為中間頂點(diǎn),求從Vi,到Vj的最短路徑。或者為從Vi到Vj的邊,或者為從Vi開始通過V0,V1,V2,V3到達(dá)Vj的最短路徑。
D(3)[i][j]=
min{D(2)[i][j],
D(2)[i][3]+D(2)[3][j]}
9
11
8V3V2V0V1
D(3)[i][j]即為從Vi到Vj的最短路徑長度.012300189ACB264311041160230初始:路徑:ABACBA
BCCA046602370加入B:路徑:ABABCBA
BCCA
CAB0411602370加入A:路徑:ABACBA
BCCACAB046502370加入C:路徑:AB
ABCBCA
BCCA
CAB例題:9ACB2643110411初始:路徑:AB910例ACB264311初始:041160230length=011202300path=加入A:0411602370length=011202310path=加入B:046602370length=012202310path=加入C:046502370length=012302310path=10例ACB264311初始:0411len10114.論點(diǎn):A(-1)[i][j]是從頂點(diǎn)vi到vj,中間頂點(diǎn)是
v1的最短路徑的長度,A(k)[i][j]是從頂點(diǎn)vi到vj,中間頂點(diǎn)的序號不大于k的最短路徑的長度,A(n-1)[i][j]是從頂點(diǎn)vi到vj的最短路徑長度。證明:歸納證明,始?xì)w納于s(上角標(biāo));(1)歸納基礎(chǔ):當(dāng)s=-1時,A(-1)[i][j]=Edge[i][j],vi到vj,不經(jīng)過任何頂點(diǎn)的邊,是最短路徑。(2)歸納假設(shè):當(dāng)s<k時,A(s)[i][j]是從頂點(diǎn)vi到vj,中間頂點(diǎn)的序號不大于s的最短路徑的長度;(3)當(dāng)s=k時,114.論點(diǎn):A(-1)[i][j]是從頂點(diǎn)vi1112
ijkA(k-1)[i][k]A(k-1)[k][j]A(k-1)[i][j]因?yàn)椋篈(k)[i][j]=min{A(k-1)[i][j],
A(k-1)[i][k]+A(k-1)[k][j]}由歸納假設(shè)知:A(k-1)[i][j]:是i到j(luò)的最短路徑(標(biāo)號不高于k-1);A(k-1)[i][k]:是i到k的最短路徑(標(biāo)號不高于k-1);A(k-1)[k][j]:是k到j(luò)的最短路徑(標(biāo)號不高于k-1);所以:A(k)[i][j]是i到j(luò)的最短路徑(標(biāo)號不高于k)。
12ijkA(k-1)[i][k]A(k-1)[k][1213圖用鄰接矩陣存儲edge[][]存放最短路徑長度path[i][j]是從Vi到Vj的最短路徑上Vj前一頂點(diǎn)序號5.算法實(shí)現(xiàn)voidfloyd(){
for(inti=0;i<n;i++)//矩陣dist與path初始化
for(int
j=0;j<n;j++){//置A(-1)dist[i][j]=Edge[i][j];
path[i][j]=-1;}//初始不經(jīng)過任何頂點(diǎn)
for(intk=0;k<n;k++)//產(chǎn)生dist(k)及path(k)for(i=0;i<n;i++) for(j=0;j<n;j++)if(dist[i][k]+dist[k][j]<dist[i][j]){
dist[i][j]=dist[i][k]+dist[k][j];
path[i][j]=k;}//縮短路徑,繞過k到j(luò)
}//floyd
13圖用鄰接矩陣存儲5.算法實(shí)現(xiàn)voidfloyd(13146.算法分析:設(shè)最內(nèi)層循環(huán)體為基本操作,算法有三層循環(huán),每層循環(huán)n次,所以T(n)=O(n3)
146.算法分析:14151515結(jié)束語當(dāng)你盡了自己的最大努力時,失敗也是偉大的,所以不要放棄,堅(jiān)持就是正確的。WhenYouDoYourBest,FailureIsGreat,SoDon'TGiveUp,StickToTheEnd結(jié)束語16感謝聆聽不足之處請大家批評指導(dǎo)PleaseCriticizeAndGuideTheShortcomings演講人:XXXXXX時間:XX年XX月XX日
感謝聆聽演講人:XXXXXX時間:XX年17181.問題的提出:已知一個各邊權(quán)值均大于0的帶權(quán)有向圖,對每一對頂點(diǎn)vi
vj,要求求出vi
與vj之間的最短路徑和最短路徑長度。2.解決辦法方法一:每次以一個頂點(diǎn)為源點(diǎn),重復(fù)執(zhí)行Dijkstra算法n次——T(n)=O(n3)方法二:弗洛伊德(Floyd)算法11.問題的提出:已知一個各邊權(quán)值均大于0的帶權(quán)有向圖,對每1819求最短路徑步驟初始時設(shè)置一個n階方陣,令其對角線元素為0,若存在弧<Vi,Vj>,則對應(yīng)元素為權(quán)值;否則為逐步試著在原直接路徑中增加中間頂點(diǎn),若加入中間點(diǎn)后路徑變短,則修改之;否則,維持原值所有頂點(diǎn)試探完畢,算法結(jié)束3.Floyd算法思想:逐個頂點(diǎn)試探法2求最短路徑步驟3.Floyd算法思想:逐個頂點(diǎn)試探法19從圖的帶權(quán)鄰接矩陣G.arcs出發(fā),假設(shè)求頂點(diǎn)Vi到Vj的最短路徑。如果從Vi到Vj有弧,則從Vi到Vj存在一條長度為G.arcs[i][j]的路徑,但該路徑是否一定是最短路徑,還需要進(jìn)行n次試探。
1.第一次,判別(Vi,V0)和(V0,Vj),即判別(Vi,V0,Vj)是否存在,若存在,則比較(Vi,Vj)和(Vi,V0,Vj)的長度,取長度較短的為從Vi到Vj的中間頂點(diǎn)序號不大于0的最短路徑。從圖的帶權(quán)鄰接矩陣G.arcs出發(fā),假設(shè)求頂點(diǎn)Vi到Vj20
2.第二次,再加一個頂點(diǎn)V1,如果(Vi,…,V1)和(V1,…,Vj)分別是當(dāng)前找到的中間頂點(diǎn)序號不大于0的最短路徑,那么(Vi,…,V1,…,Vj)就有可能是從Vi到Vj的中間頂點(diǎn)序號不大于1的最短路徑。將它和已經(jīng)得到的從Vi到Vj之間頂點(diǎn)序號不大于0的最短路徑相比較,取較短者為從Vi到Vj的中間頂點(diǎn)序號不大于1的最短路徑。
3.第三次,再加一個頂點(diǎn)V2,繼續(xù)進(jìn)行試探。
2.第二次,再加一個頂點(diǎn)V1,如果(Vi,…,21V2V3V0V1123456890123012301240092350801608888D(-1)=
D(-1)為有向網(wǎng)的鄰接矩陣
第一步:以D(-1)為基礎(chǔ),以V0為中間頂點(diǎn),求從Vi到Vj的最短路徑。該路徑或者為從Vi到Vj的邊,或者為(Vi,V0)+(V0,Vj)。
D(0)[i][j]=
min{D(-1)[i][j],
D(-1)[i][0]+D(-1)[0][j]}47D(0)=
D(0)[i][j]為從Vi到Vj的中間頂點(diǎn)序號不大于0的最短路徑長度.V0V2V3V0V11234568901222V2V3V0V112345689
以D(0)為基礎(chǔ),以V1為中間頂點(diǎn),求從Vi,到Vj的最短路徑。該路徑或者為從Vi到Vj的邊,或者為從Vi開始通過V0或V1到達(dá)Vj的最短路徑。
D(1)[i][j]=
min{D(0)[i][j],
D(0)[i][1]+D(0)[1][j]}0123012301240092350801608888A(-1)=47D(0)=1036D(1)=V0V1V0V1V2V3V0V112345689以D(0)為基礎(chǔ),以V23V2V3V0V112345689
以D(1)為基礎(chǔ),以V2為中間頂點(diǎn),求從Vi,到Vj的最短路徑?;蛘邽閺腣i到Vj的邊,或者為從Vi開始通過V0,V1,V2到達(dá)Vj的最短路徑。
D(2)[i][j]=
min{D(1)[i][j],
D(1)[i][2]+D(1)[2][j]}0123012301240092350801608888A(-1)=47A(0)=1036D(1)=D(2)=12
910V0V1V2V2V3V0V112345689以D(1)為基礎(chǔ),以V240123012301240092350801608888A(-1)=47A(0)=1036A(1)=D(2)=12
910D(3)=V2V3V0V112345689
以D(2)為基礎(chǔ),以V3為中間頂點(diǎn),求從Vi,到Vj的最短路徑?;蛘邽閺腣i到Vj的邊,或者為從Vi開始通過V0,V1,V2,V3到達(dá)Vj的最短路徑。
D(3)[i][j]=
min{D(2)[i][j],
D(2)[i][3]+D(2)[3][j]}
9
11
8V3V2V0V1
D(3)[i][j]即為從Vi到Vj的最短路徑長度.01230012526ACB264311041160230初始:路徑:ABACBA
BCCA046602370加入B:路徑:ABABCBA
BCCA
CAB0411602370加入A:路徑:ABACBA
BCCACAB046502370加入C:路徑:AB
ABCBCA
BCCA
CAB例題:9ACB2643110411初始:路徑:AB2627例ACB264311初始:041160230length=011202300path=加入A:0411602370length=011202310path=加入B:046602370length=012202310path=加入C:046502370length=012302310path=10例ACB264311初始:0411len27284.論點(diǎn):A(-1)[i][j]是從頂點(diǎn)vi到vj,中間頂點(diǎn)是
v1的最短路徑的長度,A(k)[i][j]是從頂點(diǎn)vi到vj,中間頂點(diǎn)的序號不大于k的最短路徑的長度,A(n-1)[i][j]是從頂點(diǎn)vi到vj的最短路徑長度。證明:歸納證明,始?xì)w納于s(上角標(biāo));(1)歸納基礎(chǔ):當(dāng)s=-1時,A(-1)[i][j]=Edge[i][j],vi到vj,不經(jīng)過任何頂點(diǎn)的邊,是最短路徑。(2)歸納假設(shè):當(dāng)s<k時,A(s)[i][j]是從頂點(diǎn)vi到vj,中間頂點(diǎn)的序號不大于s的最短路徑的長度;(3)當(dāng)s=k時,114.論點(diǎn):A(-1)[i][j]是從頂點(diǎn)vi2829
ijkA(k-1)[i][k]A(k-1)[k][j]A(k-1)[i][j]因?yàn)椋篈(k)[i][j]=min{A(k-1)[i][j],
A(k-1)[i][k]+A(k-1)[k][j]}由歸納假設(shè)知:A(k-1)[i][j]:是i到j(luò)的最短路徑(標(biāo)號不高于k-1);A(k-1)[i][k]:是i到k的最短路徑(標(biāo)號不高于k-1);A(k-1)[k][j]:是k到j(luò)的最短路徑(標(biāo)號不高于k-1);所以:A(k)[i][j]是i到j(luò)的最短路徑(標(biāo)號不高于k)。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江汽車職業(yè)技術(shù)學(xué)院《影視后期設(shè)計(jì)與制作》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州科技職業(yè)技術(shù)大學(xué)《運(yùn)營管理模擬》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆江蘇省徐州市睢寧高中南校高三2月月考試卷物理試題含解析
- 陜西鐵路工程職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)生物學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 古代教育理念對當(dāng)代的啟示
- 公建項(xiàng)目物業(yè)招標(biāo)流程及標(biāo)準(zhǔn)
- 澳門廢氣處理施工方案
- 2024年三季度報湖南地區(qū)A股應(yīng)收賬款周轉(zhuǎn)率排名前十大上市公司
- 遼寧省遼陽市2024-2025學(xué)年高三(上)期末生物試卷(含解析)
- 河北省保定市2024-2025學(xué)年高一上學(xué)期1月期末英語試題(B)【含答案】
- 應(yīng)急第一響應(yīng)人理論考試試卷(含答案)
- 2024年海南省公務(wù)員錄用考試《行測》試題及答案解析
- 《預(yù)防未成年人犯罪》課件(圖文)
- 上下級關(guān)系與領(lǐng)導(dǎo)力管理制度
- 九年級化學(xué)人教版跨學(xué)科實(shí)踐3水質(zhì)檢測及自制凈水器教學(xué)設(shè)計(jì)
- 堆垛機(jī)保護(hù)保養(yǎng)手冊
- 2024年衛(wèi)生資格(中初級)-初級藥師考試近5年真題集錦(頻考類試題)帶答案
- 2024年職業(yè)病防治考試題庫附答案(版)
- 【呋塞米合成工藝的探究進(jìn)展5300字(論文)】
- 床上用品項(xiàng)目實(shí)施方案和售后服務(wù)方案(技術(shù)方案)
- 《農(nóng)產(chǎn)品食品檢驗(yàn)員職業(yè)技能培訓(xùn)(中高級)》課程標(biāo)準(zhǔn)
評論
0/150
提交評論