資料結構實習報告書

2021-09-28 05:42:14 字數 2206 閱讀 1256

北京林業大學

12 學年— 13 學年第1 學期資料結構a 實習報告書

專業: 班級:

姓名學號

實習地點: 資訊樓 a3機房輔導教師: 李冬梅

實習題目基於無向圖的北林校園導遊與諮詢系統

實習環境visual c

實習內容:

實習內容排版格式要求: 五號字,中文用宋體,英文使用times new roman 單倍行距,圖表中的字型大小均為小五。

實習內容從以下三方面書寫:

(一)實現方法

1. 所用資料結構的定義及其相關說明(相關結構體或類的定義及其含義)

typedef struct

map;

typedef struct定義乙個新的結構體//

amgraph;

2. 自定義函式的名稱及其功能說明,函式對應演算法的時間複雜度

1.createudn(amgraph &g建立乙個鄰接矩陣o(n^2)

&g查詢景點的相關資訊// o(n)

3.output(amgraph &g) //輸出提供服務的所有景點的輸出函式// o(n)

4.shortestpath_dij(amgraph &g,int v0,int v2) //求兩個景點的最短路徑// o(n^2)

6.password(char pd[100],char pass密碼的輸入o(1)

7.check_password比較輸入的數與密碼是否一致// o(1)

8.change_point(amgraph &g) //修改景點的資訊o(n)

9.write_infile(amgraph &g) //寫入檔案函式o(n^2)

&g) //增加景點及資訊的函式o(1)

&g) //增加路徑的函式o(n)

&g) //刪除景點的函式o(n^2)

13back_operate後台操作的介面o(1)

3. 系統的功能模組圖

4. 相應的演算法流程圖

求最短路徑的演算法流程圖:否是

是否是是

否是是否

是否 是否

是否是否

是否否是是否

(二)實驗結果

貼上程式的實際執行測試結果並加以文字說明

主介面和前台服務的介面

但輸入的數字不正確時會有提示錯誤,並可重新輸入

查詢景點小南門的資訊

查詢路線:從小南門—>學二食堂的路線

選擇0返回到主介面

進入後台操作介面要輸入密碼

輸入的密碼有誤,請重新輸入

輸入正確密碼後進入後台操作

把小南門的資訊該為小吃聚集地

檔案中的資訊也被修改

增加乙個景點:西配樓,外語學院辦公所在地。

檔案中更改為

增加路徑時是一條已經存在的路徑時會有提示

例如增加:二教->一教 100公尺

增加一條新的路徑:二教—>綜合樓

檔案中:

刪除一條路徑

刪除:8號樓—>10號樓 50公尺

檔案中:

刪除景點:二教

檔案中:

與二教有關的路徑也刪除了

從後台返回主介面

(三)結論分析

1. 問題與解決方法

1) 一開始是最短路徑這裡老有問題,就是輸出的路線是倒著輸出的,無法按順序輸出路徑中的各個景點,在老師的提示下,我先用乙個陣列來儲存倒著的各個景點,再把這個陣列中的資料倒著輸出,這就得到順序的最短路徑。

2)在路徑的增加函式上,一開始無法判斷增加的路徑是否存在,後來我想到去鄰接矩陣中去找g.arcs[i][j]是否小於maxint就可以判斷了,要是小於那就是已存在,不小於就不存在,並直接把g.arcs[i][j]改為路徑長度就好了。

3)增加景點後我忘了把增加景點與其他景點的路徑初始化為最大值,這個是在答辯時程式執行錯誤後老師發現的問題,在那會來後,我在那個增加景點函式的後面把路徑修改的**寫進去的,之後我再執行程式,發現這樣就好了。

2. 收穫和體會

1)在花了這乙個星期做著大作業後,對「從大化小,有小組大」這八個有了更深刻的體會,當初在我們看來要完成這麼大的乙個校園導航諮詢系統真的不容易,對我而言甚至可以說是很困難的,不過在這幾天以後發現其實並沒有我想象中的那麼困難,只要我把每乙個小的部分做好,在把小的部分乙個乙個的組合起來就可以把大的做好了。這一次在老師的提示的,我們從小的模組開始做,我想在以後我們在碰到大的問題就應該學著老師的做法,把問題分解成小塊在去進行。

資料結構課程設計報告書

南通大學計算機學院 題目 2.3表示式求值問題 專業 電腦科學與技術 開始日期 2013.01.14 完成日期 2012.01.16 表示式是資料運算的基本形式。人們的書寫習慣是中綴式,如 11 22 7 4 3。中綴式的計算按運算子的優先順序及括號優先的原則,相同級別從左到右進行計算。表示式還有字...

資料結構課程設計報告書

課內設計任務一 1.設計題目 運動會分數統計 2.任務 參加運動會有n個學校,學校編號為1 n。比賽分成m個男子專案,和w個女子專案。專案編號為男子1 m,女子m 1 m w。不同的專案取前五名或前三名積分 取前五名的積分分別為 7 5 3 2 1,前三名的積分分別為 5 3 2 哪些專案取前五名或...

資料結構實習報告

接著猜的人再根據出題者的幾a幾b繼續猜,直到猜中為止。次數限制 有的時候,這個遊戲有猜測次數上的限制。根據計算機測算,這個遊戲,如果以最嚴謹的計算,任何數字可以在7次之內猜出。而有些地方把次數限制為6次或更少,則會導致有些數可能猜不出來。而有些地方考慮到人的邏輯思維難以達到計算機的那麼嚴謹,故設定為...