九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)故宮導(dǎo)游(最短路徑)(共34頁(yè))

上傳人:hknru****knru 文檔編號(hào):46403892 上傳時(shí)間:2021-12-13 格式:DOC 頁(yè)數(shù):34 大?。?16KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)故宮導(dǎo)游(最短路徑)(共34頁(yè))_第1頁(yè)
第1頁(yè) / 共34頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)故宮導(dǎo)游(最短路徑)(共34頁(yè))_第2頁(yè)
第2頁(yè) / 共34頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)故宮導(dǎo)游(最短路徑)(共34頁(yè))_第3頁(yè)
第3頁(yè) / 共34頁(yè)

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)故宮導(dǎo)游(最短路徑)(共34頁(yè))》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)故宮導(dǎo)游(最短路徑)(共34頁(yè))(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、精選優(yōu)質(zhì)文檔-----傾情為你奉上 數(shù)學(xué)與計(jì)算機(jī)學(xué)院 課程設(shè)計(jì)說(shuō)明書(shū) 課 程 名 稱(chēng): 數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì) 課 程 代 碼: 題 目: 故宮導(dǎo)游咨詢(xún) 年級(jí)/專(zhuān)業(yè)/班: 學(xué) 生 姓 名: 學(xué)   號(hào): 開(kāi) 始 時(shí) 間: 2011 年 12 月 9 日 完 成 時(shí) 間: 2011 年 1

2、2 月 23 日 課程設(shè)計(jì)成績(jī): 學(xué)習(xí)態(tài)度及平時(shí)成績(jī)(30) 技術(shù)水平與實(shí)際能力(20) 創(chuàng)新(5) 說(shuō)明書(shū)(計(jì)算書(shū)、圖紙、分析報(bào)告)撰寫(xiě)質(zhì)量(45) 總 分(100) 指導(dǎo)教師簽名: 年 月 日 專(zhuān)心---專(zhuān)注---專(zhuān)業(yè) 目錄 摘 要 隨著計(jì)算機(jī)的普及,涉及計(jì)算機(jī)相關(guān)的科目也越來(lái)越普遍,其中數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專(zhuān)業(yè)重要的專(zhuān)業(yè)

3、基礎(chǔ)課程與核心課程之一,為適應(yīng)我國(guó)計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展和應(yīng)用,學(xué)好數(shù)據(jù)結(jié)構(gòu)非常必要,然而要掌握數(shù)據(jù)結(jié)構(gòu)的知識(shí)非常難,所以對(duì)“數(shù)據(jù)結(jié)構(gòu)”的課程設(shè)計(jì)比不可少。本說(shuō)明書(shū)是對(duì)“故宮導(dǎo)游咨詢(xún)”課程設(shè)計(jì)的說(shuō)明。 首先是對(duì)需求分析的簡(jiǎn)要闡述,說(shuō)明系統(tǒng)要完成的任務(wù)和相應(yīng)的分析,并給出測(cè)試數(shù)據(jù)。其次是概要設(shè)計(jì),說(shuō)明所有抽象數(shù)據(jù)類(lèi)型的定義、主程序的流程以及各程序模塊之間的層次關(guān)系,以及ADT描述。然后是詳細(xì)設(shè)計(jì),描述實(shí)現(xiàn)概要設(shè)計(jì)中定義的基本功操作和所有數(shù)據(jù)類(lèi)型,以及函數(shù)的功能及代碼實(shí)現(xiàn)。再次是對(duì)系統(tǒng)的調(diào)試分析說(shuō)明,以及遇到的問(wèn)題和解決問(wèn)題的方法。然后是用戶(hù)使用說(shuō)明書(shū)的闡述,然后是測(cè)試的數(shù)據(jù)和結(jié)果的分析,最后是對(duì)

4、本次課程設(shè)計(jì)的結(jié)論。 關(guān)鍵詞:計(jì)算機(jī)、課程設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu) 引 言 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專(zhuān)業(yè)重要的專(zhuān)業(yè)基礎(chǔ)課程與核心課程之一,在計(jì)算機(jī)領(lǐng)域應(yīng)用廣泛,計(jì)算機(jī)離不開(kāi)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)為了能使我們掌握所學(xué)習(xí)的知識(shí)并有應(yīng)用到實(shí)際的設(shè)計(jì)中的能力,對(duì)于掌握這門(mén)課程的學(xué)習(xí)方法有極大的意義。本課程設(shè)計(jì)的題目為“故宮導(dǎo)游咨詢(xún)”,完成相應(yīng)的錄入信息、查找、修改、刪除、計(jì)算功能等等。本課程設(shè)計(jì)采用的編程環(huán)境為Microsoft Visual Stdio 6.0。 1、需求分析 游客游覽某一景點(diǎn)時(shí),對(duì)景點(diǎn)都不熟悉。特別是對(duì)于象故宮這樣

5、的大型景點(diǎn),如果隨便參觀的話(huà),可能會(huì)錯(cuò)過(guò)一些景點(diǎn),也可能走許多冤枉路。為了方便游客,需要一套軟件系統(tǒng),能夠?yàn)橛慰吞峁翰樵?xún)景點(diǎn)信息,給出到某個(gè)景點(diǎn)的最佳路線(xiàn),給出到所有景點(diǎn)的最佳路線(xiàn)。為系統(tǒng)管理員提供以下功能:添加和撤銷(xiāo)景點(diǎn),添加和撤銷(xiāo)旅游線(xiàn)路,修改景點(diǎn)信息。 1.1任務(wù)與分析 此系統(tǒng)要完成對(duì)故宮景點(diǎn)信息的儲(chǔ)存、修改、刪除、添加和查詢(xún)最短路線(xiàn),因?yàn)樯婕暗阶疃搪肪€(xiàn)問(wèn)題,所以數(shù)據(jù)結(jié)構(gòu)優(yōu)先考慮采用圖的鄰接矩陣儲(chǔ)存結(jié)構(gòu), 景點(diǎn)和旅游線(xiàn)路可以構(gòu)成圖狀結(jié)構(gòu),景點(diǎn)作為圖的頂點(diǎn),旅游線(xiàn)路作為圖的邊,邊上的權(quán)值作為景點(diǎn)間的距離。此結(jié)構(gòu)便于完成任務(wù)的各種操作。 1.2測(cè)試數(shù)據(jù)

6、 圖1 測(cè)試數(shù)據(jù) 2 概要設(shè)計(jì) 2.1 ADT描述 ADT Graph{ 數(shù)據(jù)對(duì)象:D{故宮景點(diǎn)和路徑} 數(shù)據(jù)關(guān)系:R={VR} VR={|v,w∈V,表示頂點(diǎn)v和頂點(diǎn)w之間的邊;} 基本操作: void Creat();//錄入景點(diǎn)和路徑的信息。 void select();//查找某景點(diǎn)的信息。 void xiugai();//修改某景點(diǎn)的信息。 void insert();//插入新的景點(diǎn)和路徑信息。 void delet();//刪除景點(diǎn)和路徑信息。 void shortpath1();//查詢(xún)到某景

7、點(diǎn)的最短路徑。 void shortpath2();//查詢(xún)到所有景點(diǎn)的最短路徑。 Void main();//主函數(shù)。 } 2.2程序模塊結(jié)構(gòu) 圖2 程序模塊結(jié)構(gòu) 2.2.1 結(jié)構(gòu)體定義 景點(diǎn)的結(jié)構(gòu)體定義如下: struct ding { string dingdian; string xinxi; } 2.3 各功能模塊 錄入模塊:void Creat()錄入景點(diǎn)和路徑的信息,并儲(chǔ)存。 查詢(xún)景點(diǎn)模塊:void select()查找某景點(diǎn)的信息。 修改模塊:void xiuga

8、i()修改某景點(diǎn)的信息。 插入模塊:void insert()插入新的景點(diǎn)和路徑信息。 刪除模塊:void delet()刪除景點(diǎn)和路徑信息。 查詢(xún)到某景點(diǎn)最佳路徑:void shortpath1():查詢(xún)到某景點(diǎn)的最短路徑。 查詢(xún)到查詢(xún)到所有景點(diǎn)的最短路徑:void shortpath2()查詢(xún)到所有景點(diǎn)的最短路徑 3 詳細(xì)設(shè)計(jì) 3.1結(jié)構(gòu)體定義 景點(diǎn)的結(jié)構(gòu)體定義如下: struct ding { string dingdian; string xinxi; } 3.2 初始化 構(gòu)造函數(shù)初始化變量: Graph::Graph() {

9、 for(int i=0;i

10、 int i,vi,vj,w,x,y; cout<<"輸入添加路徑的條數(shù)和景點(diǎn)數(shù):"; cin>>x>>y; cout<<"輸入添加景點(diǎn)名稱(chēng):"<>Vertices[numV+i].dingdian; cout<<" "<<"景點(diǎn)信息:"; cin>>Vertices[numV+i].xinxi; cout<<"添加成功!"<

11、<"輸入添加景點(diǎn)到景點(diǎn)的路徑的長(zhǎng)度(vi,vj,length):"; cin>>vi>>vj>>w; Edge[vi-1][vj-1]=w; Edge[vj-1][vi-1]=w; cout<<"添加成功!"<>numE>>numV; cout<<"輸入景點(diǎn)名稱(chēng):"<

12、; for(i=0;i>Vertices[i].dingdian; cout<<"景點(diǎn)信息:"; cin>>Vertices[i].xinxi; } for(i=0;i>vi>>vj>>w; Edge[vi-1][vj-1]=w; Edge[vj-1][vi-1]=w; } } 3.5修改操作 voi

13、d Graph::xiugai() { string a,c; int b=0; cout<<"請(qǐng)輸入要修改的景點(diǎn):"; cin>>a; for(int i=0;i>c; Vertices[i].xinxi=c; b++; cout<<"修改成功!"<

14、操作 void Graph::select() { string a; int b=0; cout<<"請(qǐng)輸入要查詢(xún)的景點(diǎn):"; cin>>a; for(int i=0;i

15、out<<"請(qǐng)你輸入要撤銷(xiāo)景點(diǎn)數(shù)和路線(xiàn)條數(shù):"; cin>>k>>z; for(int j=0;j>v; for(int i=0;i

16、i>x>>y; if( Edge[x-1][y-1]!=MAXweight) { Edge[x-1][y-1]=MAXweight; Edge[y-1][x-1]=MAXweight; cout<<"撤銷(xiāo)成功!"<

17、 int v,v1; string b,c; cout<<"輸入你所在的景點(diǎn):"; cin>>b; cout<<"輸入你所要去的景點(diǎn):"; cin>>c; for(int i=0;i

18、 if(i!=v&&dist[i]

19、) if(!s[w]&&Edge[u][w]

20、rtices[i].dingdian<<"的"; cout<<"最佳路徑長(zhǎng)度為:"; cout<

21、 for(int n=j;n>=1;n--) { cout<"; } cout<>b; for(int i=0;i

22、dian==b) v=i; for( i=0;i

23、

24、weight) { string c[10]; int j=0; int k=i; cout<<"從"<

25、gdian; k=path[k]; } while(k!=v); j++; c[j]=Vertices[k].dingdian; for(int n=j;n>=1;n--) { cout<"; } cout<

26、 string b; cout<<"輸入你所在的景點(diǎn):"; cin>>b; for(int i=0;i

27、v]=0; for(i=0;i

28、Edge[u][w]; path[w]=u; } } for( i=0;i

29、t[i]/100<<"分鐘"<<" "; cout<<"路徑為:"; do{ j++; c[j]=Vertices[k].dingdian; k=path[k]; } while(k!=v); j++; c[j]=Vertices[k].dingdian; for(int n=j;n>=1;n--) { cout<"; } cou

30、t<

31、理員 ******"<>c; if(c==A) { int d; char b; cout<<"請(qǐng)輸入密碼:"; cin>>d;

32、 if(d==123) { for(;;) { system("cls"); cout<<"********************************"<

33、* C、插入景點(diǎn)和路徑 ***"<>b; if(b==A) { a.Creat(); system("p

34、ause"); } if(b==B) { a.xiugai(); system("pause"); } if(b==C) { a.insert(); system("pause"); } if(b==D) { a.delet(); system("pause"); } if(b==E) break; } } else { cout<<"密碼錯(cuò)誤!"

35、<

36、 ***"<>b; if(b==A) {

37、 a.select(); system("pause"); } if(b==B) { a.shortpath1(); system("pause"); } if(b==C) { a.shortpath2(); system("pause"); } if(b==D) break; } } if(c==C) break; } } 4 調(diào)試分析 4.1測(cè)試數(shù)據(jù) 測(cè)試數(shù)據(jù)見(jiàn)圖1. 4.2調(diào)試問(wèn)題 在調(diào)試

38、過(guò)程中遇到輸出路徑算法有錯(cuò)誤,當(dāng)刪除一條路徑時(shí)時(shí)不能正確輸出相應(yīng)路徑,然后對(duì)輸出路徑的條件進(jìn)行改進(jìn),增加了條件,測(cè)試成功。 4.3算法時(shí)間復(fù)雜度 錄入:時(shí)間復(fù)雜度為O(n); 查詢(xún)景點(diǎn)信息: 時(shí)間復(fù)雜度為O(n); 修改景點(diǎn)信息: 時(shí)間復(fù)雜度為O(n); 插入景點(diǎn)和路徑: 當(dāng)插入的景點(diǎn)和路徑為x,y時(shí),若x>=y時(shí)間復(fù)雜度為O(x)反之為O(y); 刪除景點(diǎn)和路徑: 當(dāng)刪除的景點(diǎn)和路徑為x,y時(shí),若x>=y時(shí)間復(fù)雜度為O(x)反之為O(y); 查詢(xún)到某景點(diǎn)最佳路徑;此算法為迪杰斯特拉算法時(shí)間復(fù)雜度為O(n*n); 查詢(xún)到所有景點(diǎn)的最短路徑: 此算法為迪杰斯特拉算法時(shí)間復(fù)雜度為

39、O(n*n); 4.4經(jīng)驗(yàn)和體會(huì) 在本次課程設(shè)計(jì)中主要是對(duì)圖的數(shù)據(jù)結(jié)構(gòu)操作,所有剛開(kāi)始對(duì)知識(shí)不是很熟悉操作起來(lái)有一定難度,容易在程序的關(guān)鍵地方但經(jīng)過(guò)翻閱教材能較好的解決問(wèn)題。 5用戶(hù)使用說(shuō)明 本系統(tǒng)是關(guān)于故宮的管理系統(tǒng)分為兩類(lèi)用戶(hù),管理員和游客,由于管理員可以對(duì)數(shù)據(jù)進(jìn)行修改,為了保護(hù)數(shù)據(jù),所以管理員登陸需要密碼而游客不需要密碼,管理員有添加景點(diǎn)和路徑、刪除景點(diǎn)和路徑、修改景點(diǎn)信息權(quán)限,游客能查詢(xún)景點(diǎn)信息、查找到某一景點(diǎn)的最佳路徑和到所有景點(diǎn)的最佳路徑。 6 測(cè)試結(jié)果 6.1錄入信息 圖3 錄入信息界面

40、 圖4 錄入信息界面 6.2查詢(xún)景點(diǎn)模塊 圖5 查詢(xún)景點(diǎn)信息界面 6.3修改模塊 圖6 修改景點(diǎn)信息界面 6.4插入模塊 圖7 添加景點(diǎn)信息界面 6.5刪除模塊 圖8 刪除景點(diǎn)信息界面 6.6查詢(xún)到某景點(diǎn)最佳路徑 圖9 查詢(xún)到某景點(diǎn)最佳路徑界面 6.7查詢(xún)到所有景點(diǎn)的最短路徑。 圖10 查詢(xún)到所有景點(diǎn)最

41、佳路徑界面 結(jié) 論 本次課程設(shè)計(jì)“故宮導(dǎo)游咨詢(xún)”按照任務(wù)書(shū)相應(yīng)的要求成功的完成了任務(wù),由于本課程設(shè)計(jì)涉及景點(diǎn)和路徑,采用圖的儲(chǔ)存結(jié)構(gòu)和算法比較方便處理數(shù)據(jù)的儲(chǔ)存、查詢(xún)、刪除等操作。但圖的操作比較難,比如求某景點(diǎn)到所有景點(diǎn)的最佳路徑問(wèn)題,需要使用到迪杰斯特拉算法實(shí)現(xiàn)。 致 謝 在本次課程設(shè)計(jì)過(guò)程中,首先感謝輔導(dǎo)老師周立章,在數(shù)據(jù)結(jié)構(gòu)課堂上為課程設(shè)計(jì)需要的前期知識(shí)打下了基礎(chǔ),在課程設(shè)計(jì)過(guò)程中抽出休息時(shí)

42、間來(lái)做相應(yīng)的課程設(shè)計(jì)指導(dǎo)。同時(shí)在這次課程設(shè)計(jì)中,也要感謝許多樂(lè)意同學(xué)對(duì)我不懂的地方的指導(dǎo)和耐心講解。 參考文獻(xiàn) [1] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu).清華大學(xué)出版社出版。 [2] 嚴(yán)蔚敏,吳偉民. 數(shù)據(jù)結(jié)構(gòu)題集(C語(yǔ)言版) .清華大學(xué)出版社.2003年5月。 [3] 楊秀金,數(shù)據(jù)結(jié)構(gòu)(C++版) .高等教育出版社.2009年4月。 [4] 朱戰(zhàn)立.數(shù)據(jù)結(jié)構(gòu)(C++語(yǔ)言描述)(第二版本).高等出版社出版.2004年4月。 [5] 胡學(xué)鋼.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版) .高等教育出版社.2004年8月。 [6] 楊金秀.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).西安電子科技大學(xué)出版社,2004年8月。

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!