

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Bellman-Ford 算法及其優(yōu)Bellman-Ford 算法與另一個(gè)非常著名的 Dijkstra 算法一樣,用于求解單源點(diǎn)最短路徑問題。Bellman-ford 算法除了可求解邊權(quán)均非以解決存在負(fù)權(quán)(意義是什么,好好思考),而 Dijkstra 算法只能處理負(fù),因此 Bellman-Ford 算法的適用面要廣泛一些。是,原始的 Bellman-Ford 算法時(shí)間復(fù)雜度為 O(VE),比 Dijkstra 法導(dǎo)論也只介紹了基本Bellman-Ford 算法及其優(yōu)Bellman-Ford 算法與另一個(gè)非常著名的 Dijkstra 算法一樣,用于求解單源點(diǎn)最短路徑問題。Bellman-ford
2、 算法除了可求解邊權(quán)均非以解決存在負(fù)權(quán)(意義是什么,好好思考),而 Dijkstra 算法只能處理負(fù),因此 Bellman-Ford 算法的適用面要廣泛一些。是,原始的 Bellman-Ford 算法時(shí)間復(fù)雜度為 O(VE),比 Dijkstra 法導(dǎo)論也只介紹了基本的 Bellman-Ford 算法,在國(guó)內(nèi)常見的基本信息學(xué)奧中也均未提及,因此該算法的知名度與被掌握度都不如 算法。事實(shí)上,有多種形式的 Bellman-Ford 算法,例如近一兩年被熱捧的 SPFA(Shortest-Faster Algoithm 更快的最短路徑算法)算法的時(shí)間效率甚至由于 Dijkstra 算法,因此有關(guān) B
3、ellman-Ford 算法的諸多問題常常困擾奧賽選手。如:該算法值得掌握么?怎樣用編程語(yǔ)言具體實(shí)現(xiàn)?有哪些優(yōu)化?與 SPFA 本文試圖對(duì) Bellman-算法做一個(gè)比較全面的介紹。給出幾種實(shí)現(xiàn)程序,從理論和實(shí)測(cè)兩方面分析他們的時(shí)間復(fù)雜度,供大家在備戰(zhàn)省選和后noi 時(shí)參考Bellman-Ford 算法Bellman-Ford 算法能在更普遍的情況下(存在負(fù)權(quán)邊)解決單源點(diǎn)最短路徑問題。對(duì)于給定的帶權(quán)(有向或無向)G=(V,E),其源點(diǎn)為 s權(quán)函數(shù)w集E 。對(duì)圖 G 運(yùn)行 Bellman-Ford 算法的結(jié)果是一個(gè)布爾值,表明圖中是否存在著一個(gè)從源點(diǎn) s 可達(dá)的負(fù)權(quán)回路。若不存這樣的回路,算法
4、將給出從源點(diǎn)s G 的任意頂點(diǎn)v 的最短路徑dvBellman-Ford 算法流程分為三個(gè)階段:初始化:將除源點(diǎn)外的所有頂點(diǎn)的最短距離估計(jì)值dv ds 迭代求解:反復(fù)對(duì)邊集 E 中的每條邊進(jìn)行松弛操作,使得頂點(diǎn)集 V 中的每個(gè)頂點(diǎn) v 的最短距離估計(jì)值逐步 近其最短距離;(運(yùn)行|v|-次檢驗(yàn)負(fù)權(quán)回路:判斷邊集 E 中的每一條邊的兩個(gè)端點(diǎn)是否收斂。如果存在未收斂的頂點(diǎn),則算法返回 false回 true,并且從源點(diǎn)可達(dá)的頂點(diǎn) v 的最短距離保存在 dv算法描述如下Bellman-Ford(G,w,s) /G ,邊集數(shù)w ,s 為源1foreachvertexv V(G)dv 2ds /134fo
5、ri=1to|v|-1/2 for each edge(u,v) E(G) do /邊集數(shù)組要用到,窮舉每條邊5If4fori=1to|v|-1/2 for each edge(u,v) E(G) do /邊集數(shù)組要用到,窮舉每條邊5Ifdvdu+w(u,v)/67/松弛操作 2階段結(jié)foreachedge(u,v)E(G)8 9ExitExit首,圖的任意一條最短路徑既不能包含負(fù)權(quán)回路,也不會(huì)包含正權(quán)回路,因此它最多包含|v|-條邊s 可達(dá)的所有頂點(diǎn)如果 一個(gè)以 s 為根的最短路徑樹。Bellman-Ford 算法的迭代松弛操作,際上就是按頂點(diǎn)距離 s 在對(duì)每條邊進(jìn)行 1 遍松弛的時(shí)候,生成
6、了從 s 出發(fā),層次至多為 1 的那些樹枝。也就是說,找到了與 s 至多有 1 對(duì)每條邊進(jìn)行第 2 2 層次的樹枝,就是說找到了經(jīng)過 2 條邊相連的那些頂點(diǎn)的最短路徑|v|-條邊,所以,只需要循環(huán)|v|-1 次(但是,每次還要判斷松弛,這里浪費(fèi)了大量的時(shí)間,怎么優(yōu)化?單純的優(yōu)化是否可行如果沒有負(fù)權(quán)回路由于最短路徑樹的高度最多只能是|v|-1,所以最多經(jīng)過|v|-1 遍松弛操作后所有從 s 可達(dá)的頂點(diǎn)必將求出最短距離。如仍保持 +sv如果有負(fù)權(quán)回路,那么第 |v|-1 遍松弛操作仍然會(huì)成功,這時(shí),負(fù)權(quán)的頂點(diǎn)不會(huì)收斂例如對(duì)于上圖,邊上方框中的數(shù)字代表權(quán)值,頂點(diǎn) A,B,C 之間存在負(fù)權(quán)回路。S 是
7、源點(diǎn),頂點(diǎn)中數(shù)字表示運(yùn)行 Bellman-Ford 算法后各點(diǎn)的最此時(shí) da的值為 1,大于 dc+w(c,a)的值-2,由此 da可以松弛為-2,然后 db又可以松弛為-5,dc又可以松弛為-7.下一個(gè)周期,da不會(huì)終止。因此,在迭代求解最短路徑階段結(jié)束后,可以通過檢驗(yàn)邊集 E 此時(shí) da的值為 1,大于 dc+w(c,a)的值-2,由此 da可以松弛為-2,然后 db又可以松弛為-5,dc又可以松弛為-7.下一個(gè)周期,da不會(huì)終止。因此,在迭代求解最短路徑階段結(jié)束后,可以通過檢驗(yàn)邊集 E 的每條邊(u,v)是否滿足關(guān)系可以更新為更小的值,這個(gè)過du+ w(u,v) 來判斷是否存在負(fù)權(quán)回路】61112223445125634645664-56-programw:array1.maxn,1.maxnofpre:array1.maxnvis:array1.maxn;procedureforu:=1to nforv:=1tonfori:=1to mw:array1.maxn,1.maxnofpre:array1.maxnvis:array1.maxn;procedureforu:=1to nforv:=1tonfori:=1to mprocedure;fori:=1tonfori:=1ton forj:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能機(jī)器人生產(chǎn)制造合同
- 廣東省珠海市斗門區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 酒店行業(yè)閱讀題及答案
- 超級(jí)計(jì)算中心建設(shè)運(yùn)營(yíng)合同
- 頂入法法的橋、涵工程 現(xiàn)場(chǎng)質(zhì)量檢驗(yàn)報(bào)告單
- 商業(yè)綜合體設(shè)計(jì)與施工合同
- 教育培訓(xùn)行業(yè)學(xué)員個(gè)人信息保護(hù)合同
- 安徒生童話故事中的道德評(píng)析
- 農(nóng)業(yè)產(chǎn)業(yè)化發(fā)展方案
- 高中英語(yǔ)單詞復(fù)習(xí)策略及實(shí)踐教案
- 2025年江西省三支一扶招聘2209人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2025年湖南汽車工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案1套
- 2025年牡丹江大學(xué)單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案(典優(yōu))
- 2025年河南工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)審定版
- 2024年湖南司法警官職業(yè)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2025年四川成都職業(yè)技術(shù)學(xué)院招聘筆試參考題庫(kù)含答案解析
- 商業(yè)樓宇電氣設(shè)施維修方案
- 乳腺疾病的篩查與預(yù)防
- 《絲巾無限可能》課件
- 家庭教育與孩子的閱讀習(xí)慣培養(yǎng)
- 2024年10月自考00058市場(chǎng)營(yíng)銷學(xué)真題和答案
評(píng)論
0/150
提交評(píng)論