版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、石家莊鐵道大學(xué)實(shí)習(xí)報(bào)告實(shí)習(xí)報(bào)告實(shí)驗(yàn)名稱:校園導(dǎo)游程序 日期:2017年 7月 7日姓名:李琛 學(xué)號(hào):20153204 班級(jí):信1501-2 指導(dǎo)教師:陳娜 1實(shí)驗(yàn)題目 校園導(dǎo)游程序 問題描述 用無向網(wǎng)表示學(xué)校的校園景點(diǎn)平面圖,圖中頂點(diǎn)表示主要景點(diǎn),存放景點(diǎn)的編號(hào)、名 稱、簡(jiǎn)介等信息,圖中的邊表示景點(diǎn)間的道路,存放路徑長(zhǎng)度等信息。要求能夠回答有關(guān)景 點(diǎn)介紹、游覽路徑等問題。2需求分析 游客通過終端可詢問: (1)從某一景點(diǎn)到另一景點(diǎn)的最短路徑。 (2)游客從公園進(jìn)入,選取一條最佳路線。 (3)使游客可以不重復(fù)地瀏覽各景點(diǎn),最后回到出口(出口就在入口旁邊)。 基本要求 (1)將導(dǎo)游圖看作一張帶權(quán)無
2、向圖,頂點(diǎn)表示公園的各個(gè)景點(diǎn),邊表示各景點(diǎn)之間的 道路,邊上的權(quán)值表示距離為此圖選擇適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)。 (2)把各種路徑都顯示給游客,由游客自己選擇瀏覽路線。 (3)畫出景點(diǎn)分布圖于屏幕上。3概要設(shè)計(jì) 數(shù)據(jù)類型定義#include<iostream>#include<string>/圖的鄰接矩陣存儲(chǔ)表示#define MaxInt 32767 /極大值#define MVNum 100 /最大頂點(diǎn)數(shù) /頂點(diǎn)類型為字符型typedef int ArcType; /邊的權(quán)值為整型using namespace std;int i, j;int S100, D100, min,
3、 Path100;int N = 49;int bestcost = MaxInt; /記錄目前最少運(yùn)費(fèi)或代價(jià) int currentcost; /當(dāng)前運(yùn)費(fèi)或代價(jià) int currentMaxInt; /當(dāng)前路徑 int bestMaxInt; /記錄最佳路徑 struct AMGraphdstring vexsMVNum; /頂點(diǎn)表int arcsMVNumMVNum; /鄰接矩陣int vexnum; /圖的當(dāng)前點(diǎn)數(shù)int arcnum; /邊數(shù)string infoMVNum; /景點(diǎn)介紹G;主函數(shù)調(diào)用其它函數(shù)4詳細(xì)設(shè)計(jì) #include<iostream>#include&
4、lt;string>/圖的鄰接矩陣存儲(chǔ)表示#define MaxInt 32767 /極大值#define MVNum 100 /最大頂點(diǎn)數(shù) /頂點(diǎn)類型為字符型typedef int ArcType; /邊的權(quán)值為整型using namespace std;int i, j;int S100, D100, min, Path100;int N = 49;int bestcost = MaxInt; /記錄目前最少運(yùn)費(fèi)或代價(jià) int currentcost; /當(dāng)前運(yùn)費(fèi)或代價(jià) int currentMaxInt; /當(dāng)前路徑 int bestMaxInt; /記錄最佳路徑 struct A
5、MGraphdstring vexsMVNum; /頂點(diǎn)表int arcsMVNumMVNum; /鄰接矩陣int vexnum; /圖的當(dāng)前點(diǎn)數(shù)int arcnum; /邊數(shù)string infoMVNum; /景點(diǎn)介紹G;/-void swap(int& a, int& b)int temp = a;a = b;b = temp;void backtrack(int t)/其實(shí)就是一個(gè)排列問題。 int j;if (t = N)/到了最后一層。 if (G.arcscurrentt - 1currentt + G.arcscurrentt1 + currentcost<
6、;bestcost)bestcost = G.arcscurrentt - 1currentt + G.arcscurrentt1 + currentcost;for (j = 1; j <= N; j+)bestj = currentj;for (j = t; j <= N; j+)/排列。 swap(currentt, currentj);if (G.arcscurrentt - 1currentt + currentcost<bestcost)/其實(shí)currentcost就是包括了1->(t-1)的代價(jià)或運(yùn)費(fèi) currentcost += G.arcscurren
7、tt - 1currentt;backtrack(t + 1);/遞歸回溯 currentcost -= G.arcscurrentt - 1currentt;swap(currentt, currentj);/-void all()int i;for (i = 1; i <= N; i+)currenti = i;backtrack(2);/樹的第一層已經(jīng)找到了,所以從第二層開始 cout << "最少的運(yùn)費(fèi)為:" << bestcost << endl;cout << "最佳路徑為: "for (
8、i = 1; i <= N; i+)cout << besti << "->"cout << best1 << endl;/-/頂點(diǎn)定位int LocateVex(AMGraphd G, string u)int i = 0;while (G.vexsi != u) i+;return i;int CreateUD(AMGraphd &G)G.vexs0 = "正門" G.info0 = "學(xué)校正門"G.vexs1 = "二教" G.info1 =
9、 "學(xué)校的第二教學(xué)樓"G.vexs2 = "一教" G.info2 = "學(xué)校的第一教學(xué)樓"G.vexs3 = "四教" G.info3 = "學(xué)校的第四教學(xué)樓,蘇式建筑"G.vexs4 = "校醫(yī)院" G.info4 = "學(xué)生就醫(yī)的地方,現(xiàn)已搬遷"G.vexs5 = "春暉樓" G.info5 = "學(xué)校辦公場(chǎng)所"G.vexs6 = "三教" G.info6 = "第三教學(xué)樓,階梯教
10、室"G.vexs7 = "沁園" G.info7 = "有噴泉、小廣場(chǎng)和一個(gè)世紀(jì)鐘"G.vexs8 = "翠園" G.info8 = "與沁園相望,有比較多的植物"G.vexs9 = "大禮堂" G.info9 = "學(xué)校大禮堂,晚會(huì)、話劇等節(jié)目的表演場(chǎng)所"G.vexs10 = "澤園" G.info10 = "學(xué)校一景,有個(gè)涼亭"G.vexs11 = "綜餐" G.info11 = "綜合餐廳,
11、有兩層,消費(fèi)水平較高"G.vexs12 = "體育館" G.info12 = "室內(nèi)運(yùn)動(dòng)場(chǎng)所"G.vexs13 = "圖書館" G.info13 = "學(xué)校圖書館,有五層書庫,自習(xí)室,電子閱覽室等"G.vexs14 = "信息樓" G.info14 = "信息科學(xué)與技術(shù)學(xué)院,學(xué)院樓不大"G.vexs15 = "五教" G.info15 = "第五教學(xué)樓,蘇式建筑"G.vexs16 = "基教" G.info
12、16 = "新建的基礎(chǔ)教學(xué)樓,18層和地下兩層,環(huán)境比較好"G.vexs17 = "4/5/7/8棟" G.info17 = "學(xué)生宿舍"G.vexs18 = "學(xué)二" G.info18 = "學(xué)二餐廳,上下兩層"G.vexs19 = "游泳館" G.info19 = "學(xué)校游泳館,收費(fèi)的"G.vexs20 = "三實(shí)驗(yàn)樓" G.info20 = "第三實(shí)驗(yàn)樓"G.vexs21 = "超市" G.
13、info21 = "學(xué)校超市,銀行都在這"G.vexs22 = "九棟" G.info22 = "最大的學(xué)生宿舍樓"G.vexs23 = "學(xué)一" G.info23 = "學(xué)一餐廳,地上兩層,地下一層,共三層"G.vexs24 = "西操" G.info24 = "學(xué)校西邊的操場(chǎng),塑膠操場(chǎng),比較大"G.vexs25 = "機(jī)械樓" G.info25 = "機(jī)械學(xué)院的樓"G.vexs26 = "九實(shí)驗(yàn)樓&qu
14、ot; G.info26 = "第九實(shí)驗(yàn)樓,主要是計(jì)算機(jī)上機(jī)"G.vexs27 = "交通樓" G.info27 = "交通學(xué)院的樓"G.vexs28 = "1棟" G.info28 = "學(xué)生第一宿舍樓"G.vexs29 = "10/11棟" G.info29 = "學(xué)生宿舍"G.vexs30 = "土木樓" G.info30 = "土木學(xué)院的樓"G.vexs31 = "招待所" G.info3
15、0 = "鐵道大學(xué)的招待所"G.vexnum = 32;G.arcnum = 49;for (i = 0; i < G.vexnum; +i) /權(quán)值初始化為最大值for (j = 0; j < G.arcnum; +j)G.arcsij = MaxInt;G.arcs02 =1 ; G.arcs12 =2 ; G.arcs16 = 1; G.arcs27 =1 ; G.arcs23 =2 ; G.arcs38 = 1; G.arcs34 =1 ; G.arcs49 =1 ; G.arcs45 = 3; G.arcs510 = 1;G.arcs20 = 1; G
16、.arcs21 = 2; G.arcs61 = 1; G.arcs72 = 1; G.arcs32 = 2; G.arcs83 = 1; G.arcs43 = 1; G.arcs94 = 1; G.arcs54 = 3; G.arcs105 = 1;G.arcs67 =2 ; G.arcs612 = 1; G.arcs713 =1 ; G.arcs78 =2 ; G.arcs815 =1 ; G.arcs89 =1 ; G.arcs916 = 1; G.arcs910 = 3; G.arcs1017 =1 ; G.arcs1011 = 2;G.arcs76 = 2; G.arcs126 = 1
17、; G.arcs137 = 1; G.arcs87 = 2; G.arcs158 = 1; G.arcs98 = 1; G.arcs169 = 1; G.arcs109 = 3; G.arcs1710 = 1; G.arcs1110 = 2;G.arcs1118 = 2; G.arcs1213 = 2; G.arcs1219 = 1; G.arcs1320 = 1; G.arcs1314 = 1; G.arcs1415 = 1; G.arcs1527 = 2; G.arcs1516 = 1; G.arcs1621 = 1; G.arcs1617 = 1;G.arcs1811 = 2; G.ar
18、cs1312 = 2; G.arcs1912 = 1; G.arcs2013 = 1; G.arcs1413 = 1; G.arcs1514 = 1; G.arcs2715 = 2; G.arcs1615 = 1; G.arcs2116 = 1; G.arcs1716 = 1;G.arcs1722 =1 ; G.arcs1718 = 1; G.arcs1823 = 1; G.arcs1920 = 2; G.arcs1925 =1 ; G.arcs2026 = 1; G.arcs2128 = 1; G.arcs2122 = 2; G.arcs2229 = 1; G.arcs2223 = 2;G.
19、arcs2217 = 1; G.arcs1817 = 1; G.arcs2318 = 1; G.arcs2019 = 2; G.arcs2519 = 1; G.arcs2620 = 1; G.arcs2821 = 1; G.arcs2221 = 2; G.arcs2922 = 1; G.arcs2322 = 2;G.arcs2425 = 1; G.arcs2526 = 2; G.arcs2630 = 1; G.arcs2627 =2 ; G.arcs2728 = 1; G.arcs2829 = 2; G.arcs2430 = 5; G.arcs031 = 2; G.arcs431 = 3;G.
20、arcs2524 = 1; G.arcs2625 = 2; G.arcs3026 = 1; G.arcs2726 = 2; G.arcs2827 = 1; G.arcs2928 = 2; G.arcs3024 = 5; G.arcs310 = 2; G.arcs314 = 3;return 0;void find()int ff;string ss;cout << "請(qǐng)輸入景點(diǎn)" << endl;cin >> ss;ff= LocateVex(G, ss);/起點(diǎn)cout << ss << "的簡(jiǎn)介為:&
21、quot; << endl;cout << G.infoff << endl;cout << endl;void show()cout << " -土木樓 " << endl;cout << " | | " << endl;cout << "西操 -機(jī)械樓 - 九實(shí)驗(yàn)樓 -交通樓 - 1棟 - 10/11棟 " << endl;cout << " | | | | | " <<
22、; endl;cout << " 游泳館 - 三實(shí)驗(yàn)樓 | 超市 - 九棟 - 學(xué)一 " << endl;cout << " | | | | | | " << endl;cout << " 體育館 - 圖書館 - 信息樓 - 五教 - 基教 - 4/5/7/8棟 - 學(xué)二 " << endl;cout << " | | | | | | " << endl;cout << " 三教 - 沁園 - 翠園
23、 - 大禮堂 - 澤園 - 綜餐 " << endl;cout << " | | | | | " << endl;cout << " 二教 - 一教 - 四教 - 校醫(yī)院 - 春暉樓" << endl;cout << " | | " << endl;cout << " 正門 - 招待所" << endl;void xuanze()string a;string b;cout << &qu
24、ot;請(qǐng)輸入當(dāng)前位置:"cin >> a;cout << "請(qǐng)輸入終點(diǎn)位置:"cin >> b;int i, n, v, v0, w, z;v0 = LocateVex(G, a);/起點(diǎn)z = LocateVex(G, b);/終點(diǎn)n = G.vexnum;for (v = 0; v < n; v+)Sv = false;Dv = G.arcsv0v;if (Dv < MaxInt)Pathv = v0;elsePathv = -1;Sv0 = true;Dv0 = 0;for (i = 1; i < n;
25、i+)min = MaxInt;for (w = 0; w < n; w+)if (!Sw && Dw < min)v = w;min = Dw;Sv = true;for (w = 0; w < n; w+)if (!Sw && (Dv + G.arcsvw < Dw)Dw = Dv + G.arcsvw;Pathw = v;cout << endl;cout << "路線為:" << endl;int s = z;cout << G.vexsz << " <- "while (Paths!= v0)cout << G.vexsPaths << "
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑工程公司施工人員勞務(wù)雇傭協(xié)議3篇
- 2025版全面升級(jí)商業(yè)綜合體物業(yè)租戶服務(wù)合同3篇
- 第9課《老人與?!吠骄毩?xí) 統(tǒng)編版高中語文選擇性必修上冊(cè)
- 2025年度個(gè)人汽車租賃與車輛租賃行業(yè)規(guī)范合同3篇
- 2025年度智能家居系統(tǒng)安裝與維護(hù)個(gè)人勞務(wù)承包合同4篇
- 2025年教育資源共享平臺(tái)代理招生合作框架協(xié)議4篇
- 2025年度螺桿機(jī)節(jié)能補(bǔ)貼申請(qǐng)與執(zhí)行合同4篇
- 2025年度綠色建筑節(jié)能改造項(xiàng)目安全生產(chǎn)與文明施工合作協(xié)議3篇
- 2025年林業(yè)資源承包經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同模板4篇
- 2025版污水處理廠污泥處理與資源化利用合作協(xié)議3篇
- 中央2025年國(guó)務(wù)院發(fā)展研究中心有關(guān)直屬事業(yè)單位招聘19人筆試歷年參考題庫附帶答案詳解
- 外呼合作協(xié)議
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法800道題
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- GB/T 33629-2024風(fēng)能發(fā)電系統(tǒng)雷電防護(hù)
- 2024淘寶天貓運(yùn)動(dòng)戶外羽絨服白皮書-WN8正式版
- 記賬實(shí)操-砂石企業(yè)賬務(wù)處理分錄
- 2024屆四川省瀘州市江陽區(qū)八年級(jí)下冊(cè)數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 全球250個(gè)國(guó)家中英文名稱及縮寫
- 深靜脈血栓(DVT)課件
- 2023年四川省廣元市中考數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論