《短路算法之spfa》ppt課件

《短路算法之spfa》ppt課件

ID:40095588

大?。?0.16 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-07-20

《短路算法之spfa》ppt課件_第1頁(yè)
《短路算法之spfa》ppt課件_第2頁(yè)
《短路算法之spfa》ppt課件_第3頁(yè)
《短路算法之spfa》ppt課件_第4頁(yè)
《短路算法之spfa》ppt課件_第5頁(yè)
資源描述:

《《短路算法之spfa》ppt課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、SPFA /ShortestPathFasterAlgorithmBellman-FordBellman-ford算法是求含負(fù)權(quán)圖的單源最短路徑算法,效率很低,但代碼很容易寫。即進(jìn)行不停地松弛(原文是這么寫的,為什么要叫松弛,爭(zhēng)議很大),每次松弛把每條邊都更新一下,若n-1次松弛后還能更新,則說(shuō)明圖中有負(fù)環(huán),無(wú)法得出結(jié)果,否則就成功完成。RelaxationRELAX(u,v)ifdis[v]>dis[u]+w(u,v)thendis[v]=dis[u]+w(u,v);//π[v]=u;Bellman-FordBELLMAN-FORDfori=1to

2、V

3、-1d

4、oforeveryedge(u,v)inEdoRELAX(u,v);//O(VE)隊(duì)列優(yōu)化我們用數(shù)組dis記錄每個(gè)結(jié)點(diǎn)的最短路徑估計(jì)值,而且用鄰接表來(lái)存儲(chǔ)圖G。我們采取的方法是動(dòng)態(tài)逼近法:設(shè)立一個(gè)先進(jìn)先出的隊(duì)列用來(lái)保存待優(yōu)化的結(jié)點(diǎn),優(yōu)化時(shí)每次取出隊(duì)首結(jié)點(diǎn)u,并且用u點(diǎn)當(dāng)前的最短路徑估計(jì)值對(duì)離開u點(diǎn)所指向的結(jié)點(diǎn)v進(jìn)行松弛操作,如果v點(diǎn)的最短路徑估計(jì)值有所調(diào)整,且v點(diǎn)不在當(dāng)前的隊(duì)列中,就將v點(diǎn)放入隊(duì)尾。這樣不斷從隊(duì)列中取出結(jié)點(diǎn)來(lái)進(jìn)行松弛操作,直至隊(duì)列空為止。隊(duì)列基本操作ENQUEUE(Q,v)tail++;Q[tail]=v;DEQUEUE(Q)head++;DEQ

5、UEUE=Q[head];EMPTY(Q)returnhead>=tail;SPFASPFAINITIALIZE;ENQUEUE(Q,s);whilenotEMPTY(Q)u=DEQUEUE(Q);foreveryvertexvinadj[u]doifdis[v]>dis[u]+w(u,v)dis[v]=dis[u]+w(u,v);//π[v]=uifnotvinQENQUEUE(Q,s);//O(kE)循環(huán)隊(duì)列ENQUEUE(Q,v)tail=(tail+1)modlen;Q[tail]=v;DEQUEUE(Q)head=(head+1)modlen;DEQU

6、EUE=Q[head];EMPTY(Q)returnhead=tail;

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。