資料結構課程設計

2023-02-09 12:42:05 字數 3399 閱讀 1586

學號設計說明書

起止日期: 2023年 01月 06 日至 2023年 01 月 15日

計算機與資訊工程學院

2023年 01月 15日

天津城建大學

課程設計任務書

2014—2015學年第 1 學期

學院專業班級

課程設計名稱: 資料結構課程設計

設計題目: horse管理資訊系統+horse圖結構資料應用

完成期限:自 2015 年 01月 6日至 2015 年 01月 15 日共 1 周

設計依據、要求及主要內容(可另加附頁):

一、建立乙個小型的管理資訊系統:1、確認管理資訊系統的主題:

(一)主題詞彙表:

河馬 豺 翠鳥 4. leopard豹 獅

演員 太空員 警察 消防員 強盜

農民 12. boss 老闆 跳舞者 14. ostrich 鴕鳥 15. pilot 飛行員

理髮師 17. mule 騾 服務員 會計和尚

狗 22. priest--牧師 導演 模特兒 25. singer--歌手

牙醫 27. elephant--象 ** 航海家 飛行員

建築師 32. peacock孔雀 麵包師 商人 35. penguin企鵝 接待員 秘書 律師 法官 40. rabbit兔子

木匠 油漆匠 裁縫師 司機 船長 漁夫 醫師 園丁 49. chemist-藥劑師 工程師 科學家 售貨員 攝影師 狐 馬 長頸鹿 山羊 58. gorilla 大猩猩 海鷗 刺蝟

61. teacher 教師 教授 63. cook 廚師 校長 歌手

66. monkey猴子

按對應序號,每個同學獲取對應詞彙

(二)為每個主題詞確定具有特徵的資訊集。

例:fish:

意義:horse:

(三)為每個主題建立乙個資訊管理系統

要求:1.定義結構體儲存每個主題詞實體的資料;

2.使用單向鍊錶進行多個資料的儲存;

3.要求程式有主選單,執行時顯示例項為:

fish管理系統功能選單

1.增加fish;

2.刪除fish;

3.修改fish;

4.查詢fish資訊;

5.統計fish個數;

6.輸出fish列表;

7.退出;

請輸入你的選擇(1-7):

請實現以上功能。

二、現在考慮新的應用場景,使得產生多對多的關係,例如:fish主題中,一條魚與另外多條魚存在相鄰的關係;那麼在fish的基礎資訊之上,還需要儲存相鄰的fish的資訊。為此,需要額外擴充關係資料。

使用鄰接鍊錶是乙個很好的方式。

其思想是:先開闢陣列儲存fish的基本資料,然後,為每個fish,構建鍊錶,儲存所有的關係(即指向相鄰fish的指標資料);

請按照上述思想,為你的每個主題詞實體,建立鄰接鍊錶實現,

並且實現以下功能:

fish圖結構資料處理程式

1.建立fish圖)

2.按照深度遍歷的方式列印所有的fish;

3.按照廣度遍歷的方式列印所有的fish;

4.退出。

三、直覺上,我們會認為:圖的遍歷的程式設計問題,比給定n個數字的線性序列求最大值問題更難。

我們知道:面向過程程式設計的核心問題是:當處理完當前資料,決定下乙個資料是誰。請回答下面的問題:

(1)圖的廣度和深度優先遍歷中,如何找到下乙個要處理的資料

(2)n個數字線性序列求最大值問題中,如何找到下乙個要處理的資料

(3)結合前述解答,解釋為何圖的廣度和深度優先遍歷問題難度直覺上大於線性序列最大值問題。

四、心得和體會

1.如何理解資料結構中的關係?如果說:資料結構等同於資料+關係,那麼對於程式設計問題而言,資料更重要還是關係更重要?為什麼?

2.能夠預先建立關係,對於程式設計來說很重要。能否舉例說明:哪些問題無法事先建立資料的關係?

3.做完本課程設計後,你尚存在的問題是什麼?有所收穫的是什麼?

指導教師(簽字

系主任(簽字

批准日期: 年月日

horse管理資訊系統+horse圖結構資料應用設計報告

一、horse資訊管理系統

1.屬性集及對應意義

2.結構體定義

struct hoursenode

;3.修改horse功能的實現描述(文字描述和流程圖)

ynyn

文字描述:輸入想要修改的馬的id,當p不為null並且 p的id不等於id時,令p指向下乙個結點p->next;否則,判斷p是否為null。如果p為空,則馬不存在;否則查詢成功,輸入所要進行的修改進行修改資訊。

4.各個功能的介面貼圖(每個圖都要圖名)

主選單:

增加hourse:

查詢horse:

統計horse:

輸出horse:

修改horse:

刪除horse:

think 思考 thought thought

bear 忍受 bore born

5.畫出包含有三個資料的煉表示意圖

we**e 編織 wove woven

forecast 預報 forecast forecast

do / does 做 did done

overtake 超車,趕上 overtook overtaken

二、horse圖結構資料處理程式

1.描述你的場景主題

在horse資訊系統中,一匹馬與其他多匹馬存在相鄰關係,在儲存一匹馬的基本資訊基礎上,還需要儲存馬匹之間的相鄰關係。在建立資訊系統過程中,輸入horse的基本資訊後,再建立它的關係屬性,用鍊錶的方式儲存,建立horse之間的關係,實現相鄰成員之間的鏈結。

2.畫圖表示你的樣例資料對應的鄰接鍊錶,並上方註明結構體的各個網域名稱;

3.用自己的話,描述深度遍歷或廣度遍歷的演算法思想

深度遍歷:

從指定頂點出發,首先訪問這個頂點,然後從這個頂點的第乙個未被訪問過的鄰接點出發再次進行深度遍歷,直到所有的頂點都被訪問過。

廣度遍歷:

從指定頂點出發,首先訪問這個頂點,然後訪問這個頂點的所有未被訪問過的鄰接點,然後從這些鄰接點中第乙個出發,訪問它的未被訪問過的鄰接點,直到所有頂點都被訪問過。

4.廣度遍歷和深度遍歷在儲存待處理結點的數目上,哪個更多?為什麼?

深度遍歷在儲存待處理結點的數目上多一些。深度優先遍歷一次只遍歷乙個與指定結點鄰接的頂點,如果在遞迴遍歷過程**現某乙個頂點的所有鄰接點都已被訪問,但還有未被訪問過的頂點,就需要回到它的上乙個頂點,再找出沒有被訪問過的頂點,進行深度遍歷。而廣度遍歷,一次就可把所有與指定頂點的相鄰接都訪問,然後再訪問鄰接點的未被訪問的頂點。

所以,深度遍歷在儲存待處理結點的數目較多。

資料結構課程設計

指導書山東建築大學 電腦科學與技術學院 二 六年十二月 課程設計基本情況 課程名稱 資料結構課程設計 相關課程 c語言程式設計 visual c 程式設計 資料結構 適合專業 電腦科學與技術 網路工程 軟體工程 設計週數 2周 學分 2學分 開課學期 第4學期 開課單位 電腦科學與技術學院 一 課程...

資料結構課程設計

總結報告 專業軟體工程 班級軟體1007 學號 20103540 姓名 日期 2012.9.17 東北大學軟體學院 第一章需求分析 問題定義 實現乙個網上拍賣系統,根據需求描述和附加的框架 完成乙個網上拍賣系統。分析 整個系統執行於windows平台,是基於b s結構的商業應用程式,程式為使用者提供...

資料結構課程設計

環境與測繪學院 1 c 物件導向程式設計基礎 實驗簡介 學會用演算法語言c 描述抽象資料型別。理解資料結構的組成分為兩部分,第一部分是資料集 資料元素 第二部分是在此資料集上的操作。從物件導向的觀點看,這兩部分代表了物件的屬性和方法。掌握用c 描述資料結構的基本方法,即通過建立類來描述抽象資料型別。...