最短路的dijkstra算法的程序源代碼_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、關(guān)于最短路的關(guān)于最短路的DijkstraDijkstra算法的程序源代碼算法的程序源代碼!懸賞分:150|解決時間:200912500:57|提問者:hraper最好是matlab的!急用?。。?!哪位高手有相關(guān)的程序請發(fā)到y(tǒng)angzhuwen6@謝謝!?。。。。∽罴汛鸢窪ijkstra算法Dijkstra算法是典型最短路算法,用于計算一個節(jié)點到其他所有節(jié)點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkst

2、ra算法能得出最短路徑的最優(yōu)解,但由于它遍歷計算的節(jié)點很多,所以效率低。Dijkstra算法是很有代表性的最短路算法,在很多專業(yè)課程中都作為基本內(nèi)容有詳細的介紹,如數(shù)據(jù)結(jié)構(gòu),圖論,運籌學(xué)等等。Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標(biāo)號方式,一種是用OPENCLOSE表方式,Drew為了和下面要介紹的A算法和D算法表述一致,這里均采用OPENCLOSE表的方式。其采用的是貪心法的算法策略大概過程:創(chuàng)建兩個表,OPENC

3、LOSE。OPEN表保存所有已生成而未考察的節(jié)點,CLOSED表中記錄已訪問過的節(jié)點。1訪問路網(wǎng)中距離起始點最近且沒有被檢查過的點,把這個點放入OPEN組中等待檢查。2從OPEN表中找出距起始點最近的點,找出這個點的所有子節(jié)點,把這個點放到CLOSE表中。3遍歷考察這個點的子節(jié)點。求出這些子節(jié)點距起始點的距離值,放子節(jié)點到OPEN表中。4重復(fù)第2和第3步直到OPEN表為空,或找到目標(biāo)點。[編輯本段]算法實現(xiàn)#include#define

4、MaxNum765432100usingnamespacestdifstreamfin(“Dijkstra.in“)ofstreamfout(“Dijkstra.out“)f(p=1pDist[Temp]Map[Temp][p])From[p]=Tempelsebreakwhile(SetCard!=Vertex)f(p=1p=1q)fout“Stack[q]fout“n========================nn“fin.cl

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論