7. 建立二叉樹和線索二叉樹
分別用以下方法建立二叉樹並用圖形顯示出來:
1) 用先序遍歷的輸入序列
2) 用層次遍歷的輸入序列
3) 用先序和中序遍歷的結果
最後對所建立的二叉樹進行中序線索化,並對此線索樹進行中序遍歷(不使用棧)。
8.學生成績查詢系統
試編寫程式完成學生成績記錄的查詢。
學生基本情況
① 若按學號進行順序查詢,例如:輸入99070103,則輸出 56 。
② 按學號排序後對學號進行折半查詢。
③ 隨機輸入以學號為關鍵字的學生資訊並構建二叉排序樹,對學號進行二叉排序樹查詢。
9.馬的遍歷問題
設計程式完成如下要求:在中國象棋棋盤上,對任一位置上放置的乙個馬,均能選擇乙個合適的路線,使得該棋子能按象棋的規則不重複地走過棋盤上的每一位置。
要求:1)依次輸出所走過的各位置的座標。
2)最好能畫出棋盤的圖形形式,並在其上動態地標註行走過程。
10. 教學計畫編制問題
大學的每個專業都要編制教學計畫。假設任何專業都有固定的學習年限,每學年含兩學期,每學期的時間長度和學分上限都相等。每個專業開設的課程都是確定的,而且課程的開設時間的安排必須滿足先修關係。
每個課程的先修關係都是確定的,可以有任意多門,也可以沒有。每一門課程恰好乙個學期。試在這樣的情況下設定乙個教學計畫編制程式。
設計要求:針對計算機系本科課程,根據課程之間的依賴關係(如高階語言、離散數學應在資料結構之前開設)制定課程安排計畫,並滿足各學期課程數目大致相同。
11. 大數相乘問題
例如:輸入第乙個數為:13286754398172586,輸入第二個數為:
2397567453241147則程式執行後輸出13286754398172586*2397567453241147=正確答案。
12. 設計乙個模擬計算器來完成表示式的計算
要求對包含加、減、乘、除、括號運算子的任意整型表示式進行求解,運算元可以是多位數。
13. 八皇后問題
設計程式完成如下要求:在8×8的國際象樣棋盤上,放置8個皇后,使得這8個棋子不能互相被對方吃掉。
要求: 1)依次輸出各種成功的放置方法。
2)最好能畫出棋盤的圖形形式,並在其上動態地演示試探過程。
14. 3×3的九宮問題
在乙個3×3的九宮中有1∽8這8個數及乙個空格隨機地擺放在其中的格仔裡。如下圖10.1(a)所示。
現在要求實現這樣的問題:將該九宮格調整為如下圖10.1(b)所示的形式。
調整的規則是:每次只能將與空格(上、下或左、右)相鄰的乙個數字平移到空格中。試程式設計實現這一問題的求解
ab)15. 圖的遍歷過程演示
設計程式完成如下功能:對給定的圖結構和起點,產生深度優先遍歷和廣度優先遍歷序列,並給出求解過程的動態演示。
16. 運動會分數統計
參加運動會有n個學校,學校編號為1……n。比賽分成m個男子專案,和w個女子專案。專案編號為男子1……m,女子m+1……m+w。
不同的專案取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學生自己設定。
(m<=20,n<=20)功能要求:
1) 可以輸入各個專案的前三名或前五名的成績;
2) 能統計各學校總分,
3) 可以按學校編號、學校總分、男女團體總分排序輸出;
4) 可以按學校編號查詢學校某個專案的情況;可以按專案編號查詢取得前三或前五名的學校。
規定:輸入資料形式和範圍:20以內的整數(如果做得更好可以輸入學校的名稱,運動專案的名稱)
輸出形式:有中文提示,各學校分數為整型
介面要求:有合理提示,每個功能可以設立選單,根據提示,可以完成相關的功能要求。
17.構造n個城市連線的最小生成樹
乙個地區的n個城市間的距離網,用prim演算法或kruskal演算法建立最小生成樹,並計算得到的最小生成樹的代價。基本要求:
1) 城市間的距離網採用鄰接矩陣表示,鄰接矩陣的儲存結構定義採用課本中給出的定義,若兩個城市之間不存在道路,則將相應邊的權值設為自己定義的無窮大值。要求在螢幕上顯示得到的最小生成樹中包括了哪些城市間的道路,並顯示得到的最小生成樹的代價。
2)表示城市間距離網的鄰接矩陣(要求至少6個城市,10條邊)
18.輸入帶排序序列生成二叉排序樹,並調整使其變為平衡二叉樹。
最好能將平衡化過程動態地演示出來。
三、幾點說明
1、學期結束前在機房驗收程式和課程設計報告;
2、課程設計報告注意事項:
1)執行結果請截圖(alt + prtscr);
2) 系統功能模組介紹請請採用流程圖形式;
3)課程設計總結可以從以下幾個方面書寫 : 課程設計的收穫、遇到問題及其解決過程、程式除錯技巧、在課程設計過程中對《資料結構》課程的認識等內容。
附一:課程設計報告封面 ( 列印時刪除此行 )
《資料結構》
課程設計報告
安徽工業大學計算機學院
2023年6月
資料結構課程設計任務書
一 設計的目的 資料結構與演算法課程設計是在學完資料結構與演算法課程之後的實踐教學環節。該實踐教學是軟體設計的綜合訓練,包括問題分析 總體結構設計 使用者介面設計 程式設計基本技能和技巧。要求學生在設計中逐步提高程式設計能力,培養科學的軟體工作方法。學生通過資料結構課程設計在下述各方面得到鍛鍊 1 ...
資料結構課程設計任務書
專業年級班 一 設計題目 學生成績管理系統的設計 二 主要內容 外存用檔案的形式,記憶體採用不同的資料結構完成對學生 班級 課程 成績進行管理。三 具體要求 在記憶體中完成對學生資訊按姓名形成乙個排序二叉樹並進行維護在記憶體中對班級 課程表形成乙個鍊錶,並進行維護在記憶體中用陣列的形式完成成績表的維...
《資料結構》課程設計任務書
學生姓名專業班級 軟體080 班 指導教師 夏紅霞工作單位 電腦科學與技術學院 題目 學生成績管理程式的設計與實現 課程設計要求 1 熟練掌握基本的資料結構 2 熟練掌握各種演算法 3 運用高階語言編寫質量高 風格好的應用程式。課程設計任務 1 系統應具備的功能 1 對學生的姓名 各科成績進行輸入和...