版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)報(bào)告班級(jí):計(jì)嵌141姓名:陳志遠(yuǎn)學(xué)號(hào):1413052023交通指南系統(tǒng)1. 問(wèn)題描述 假設(shè)以一個(gè)帶權(quán)有向圖表示某一區(qū)域的公交線(xiàn)路圖,圖中頂點(diǎn)代表一些區(qū)域中的重要站點(diǎn),弧代表已有的公交線(xiàn)路,弧上的權(quán)表示該線(xiàn)路上的票價(jià)(或搭乘所需時(shí)間),試設(shè)計(jì)一個(gè)交通指南系統(tǒng),指導(dǎo)前來(lái)咨詢(xún)者以最低的票價(jià)或最少的時(shí)間從區(qū)域中的某一站點(diǎn)到達(dá)另一站點(diǎn)。 2. 基本要求 (1)設(shè)計(jì)結(jié)點(diǎn)和圖的存儲(chǔ)結(jié)構(gòu); (2)設(shè)計(jì)任意兩點(diǎn)最短路徑方法; (3)輸入:圖的相關(guān)信息以建立公交線(xiàn)路網(wǎng),以及公交線(xiàn)路網(wǎng)咨詢(xún)的任意兩個(gè)站點(diǎn); (4)輸出:兩個(gè)站點(diǎn)間一條最短的簡(jiǎn)單路徑。 3. 實(shí)現(xiàn)提示 (1) 結(jié)點(diǎn)和圖的存儲(chǔ)結(jié)構(gòu) typ
2、edef struct node int no; float wgt; struct node*next; edgenode; typedef struct char vtx; edgenode*link; vexnode; typedef vexnode Graphn; void Floyd(Graph G,float Ann,int pnn) int i,j,k; for(i=0;in;i+) fot(j=0;jn;j+) Aij=Gij; Pij=-1; for(k=0;kn;k+) for(i=0;in;i+) for(j=0;jn;j+) if(Aik+AkjAij) pij=k;
3、Aij=Aik+Akj; (2)算法提示 采用任意兩點(diǎn)最短路徑的相關(guān)算法。 4.源代碼#include using namespace std;struct ArcCellint adj; /存放弧長(zhǎng) bool *info; /是否用過(guò)該弧;struct _MGraph char vexs20; /存放站點(diǎn)ArcCell arcs2020; /int vexnum;int arcnum;typedef int Path202020; typedef int Distanc2020; class MGraph /沒(méi)用私有成員 public:_MGraph mgraph;/void Destroy
4、Graph(); /析構(gòu)函數(shù)銷(xiāo)毀圖int LocateVex (char u); / 返回頂點(diǎn)在圖中的位置bool CreateDN(); /構(gòu)造有向網(wǎng)void ShortestPath_FLOYD(Path &P,Distanc &D);bool MGraph:CreateDN()/構(gòu)造有向網(wǎng)int i,j ,w;char v1, v2;coutmgraph.vexnummgraph.arcnum ;coutn請(qǐng)輸入各站點(diǎn)名: ;for(i = 0;imgraph.vexsi;for(i = 0;imgraph.vexnum;i+)/初始化鄰接矩陣for(j = 0;jmgraph.vexn
5、um;j+)if(i=j)mgraph.arcsij.adj = 0;elsemgraph.arcsij.adj = 20000; /infinity; = false;for(i = 0;imgraph.arcnum;i+) /構(gòu)造鄰接矩陣coutv1v2w;int m = LocateVex(v1);int n = LocateVex(v2);mgraph.arcsmn.adj = w; / 的權(quán)值return true; void MGraph:DestroyGraph()for(int i = 0 ;imgraph.vexnum;i+)for(in
6、t j = 0;jmgraph.vexnum;j+)if()delete ; = false;mgraph.vexnum = 0;mgraph.arcnum = 0;int MGraph:LocateVex(char u)for(int i = 0 ;i20;i+)if(u = mgraph.vexsi)return i;return -1;void MGraph:ShortestPath_FLOYD(Path &P,Distanc &D)/求每對(duì)頂點(diǎn)間的最短路徑/ 用Floyd算法求有
7、向網(wǎng)G中各對(duì)頂點(diǎn)v和w之間的最短路徑Pvw及其帶權(quán)長(zhǎng)度Dvw/ 若Pvwu為T(mén)RUE,則u是從v到w當(dāng)前求得最短路徑上的頂點(diǎn)。 int u,v,w,i;for(v = 0;vmgraph.vexnum;v+)for(w = 0;wmgraph.vexnum;w+)Dvw = mgraph.arcsvw.adj;/ 頂點(diǎn)v到頂點(diǎn)w的直接距離for(u = 0;umgraph.vexnum;u+)Pvwu = false; /路徑矩陣初值if(Dvw20000) /從v到w有直接路徑Pvwv = Pvww = true;/由v到w的路徑經(jīng)過(guò)v和w兩點(diǎn)for(u = 0;umgraph.vexnum
8、;u+)for(v = 0;vmgraph.vexnum;v+)for(w = 0;wmgraph.vexnum;w+)if(Dvu+DuwDvw)/從v經(jīng)u到w的一條路徑更短Dvw = Dvu+Duw;/ 更新最短距離for(i = 0;imgraph.vexnum;i+) Pvwi = Pvui|Puwi;/從v到w的路徑經(jīng)過(guò)從v到u和從u到w的所有路徑void main()MGraph g;Path p; / 3維數(shù)組Distanc d; / 2維數(shù)組int s,t,k;char v1,v2;float sum=0;coutn*歡迎使用交通指南系統(tǒng)*nendl;g.CreateDN();coutv1v2;s=g.LocateVex (v1);t=g.LocateVex (v2); g.ShortestPath_FLOYD(p,d); if(s!=t) int a=s;coutn由站點(diǎn)g.mgraph.vexss到站點(diǎn)g.mgraph.vexst途中經(jīng)過(guò)站點(diǎn):;for(k = 0;kg.mgraph.vexnum;k+)if(pstk
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建廈門(mén)市第三幼兒園招聘1人考試備考試題及答案解析
- 2026廣東茂名市信宜市選聘市外教師21人考試參考題庫(kù)及答案解析
- 水下機(jī)器人:探索藍(lán)色疆域的智能裝備革命
- 2026年上海市寶山區(qū)新江灣實(shí)驗(yàn)學(xué)校編內(nèi)教師公開(kāi)招聘筆試備考題庫(kù)及答案解析
- 2026江蘇蘇州東吳財(cái)產(chǎn)保險(xiǎn)股份有限公司重客業(yè)務(wù)部社會(huì)招聘考試備考題庫(kù)及答案解析
- 2026福建廈門(mén)市集美區(qū)海怡實(shí)驗(yàn)幼兒園招聘2人考試備考題庫(kù)及答案解析
- 2026福建廈門(mén)市集美區(qū)西濱小學(xué)非在編教師招聘1人考試備考試題及答案解析
- 2026湖南長(zhǎng)沙農(nóng)村商業(yè)銀行股份有限公司招聘員工2人筆試備考試題及答案解析
- 2026年舟山市志愿服務(wù)聯(lián)合會(huì)公開(kāi)招聘工作人員的備考題庫(kù)參考答案詳解
- 2026年海南師范大學(xué)招聘?jìng)淇碱}庫(kù)及一套答案詳解
- 責(zé)任督學(xué)培訓(xùn)課件
- 關(guān)于安吉物流市場(chǎng)的調(diào)查報(bào)告
- 三年級(jí)科學(xué)上冊(cè)蘇教版教學(xué)工作總結(jié)共3篇(蘇教版三年級(jí)科學(xué)上冊(cè)知識(shí)點(diǎn)整理)
- 抑郁病診斷證明書(shū)
- 心電監(jiān)測(cè)技術(shù)操作考核評(píng)分標(biāo)準(zhǔn)
- 歷史時(shí)空觀(guān)念的教學(xué)與評(píng)價(jià)
- 維克多高中英語(yǔ)3500詞匯
- 《LED顯示屏基礎(chǔ)知識(shí)培訓(xùn)》
- 第五屆全國(guó)輔導(dǎo)員職業(yè)能力大賽案例分析與談心談話(huà)試題(附答案)
- LY/T 2501-2015野生動(dòng)物及其產(chǎn)品的物種鑒定規(guī)范
- GB/T 6529-2008紡織品調(diào)濕和試驗(yàn)用標(biāo)準(zhǔn)大氣
評(píng)論
0/150
提交評(píng)論