資料結構課程設計任務書

2021-04-11 07:40:10 字數 4430 閱讀 1769

(一)設計的目的

資料結構與演算法課程設計是在學完資料結構與演算法課程之後的實踐教學環節。該實踐教學是軟體設計的綜合訓練,包括問題分析、總體結構設計、使用者介面設計、程式設計基本技能和技巧。要求學生在設計中逐步提高程式設計能力,培養科學的軟體工作方法。

學生通過資料結構課程設計在下述各方面得到鍛鍊:

1.能根據實際問題的具體情況,結合資料結構與演算法課程中的基本理論和基本演算法,正確分析出資料的邏輯結構,合理地選擇相應的儲存結構,並能設計出解決問題的有效演算法。

2.提高程式設計和除錯能力。學生通過上機實習,驗證自己設計的演算法的正確性。學會有效利用基本除錯方法,迅速找出程式**中的錯誤並且修改。

3.培養演算法分析能力。分析所設計演算法的時間複雜度和空間複雜度,進一步提高程式設計水平。

(二)設計要求

1.學生必須仔細閱讀《資料結構與演算法》課程設計方案,認真主動完成課設的要求。有問題及時主動通過各種方式與教師聯絡溝通。

2.學生要發揮自主學習的能力,充分利用時間,並在課設過程中不斷檢測自己的計畫完成情況,及時向教師匯報。

3.課程設計按照教學要求需要一周時間完成,屬教師安排上機時間學生不得缺席。

1.分析問題,給出數學模型,設計相應的資料結構。

(1)分析問題的特點,用數學表示式或其它形式描述其數學模型。

(2)選擇能夠體現問題本身特點的邏輯結構。

(3)在邏輯結構確定的情況下,為演算法的設計選擇相應的儲存結構,順序儲存結構和非順序儲存結構的不同儲存方式,其對應的演算法也不相同。

2.演算法設計

在已經選擇好資料結構的前提下,為解決問題設計演算法。

(1)確定所需模組

對於稍複雜的程式設計,要充分利用模組化程式設計方法,自頂向下,逐步細化,在整體思路確定的情況下,考慮所需模組數,各模組完成功能以及模組之間的資料聯絡和呼叫關係。

(2)各子模組功能描述

給出主要模組的演算法描述,用流程圖或偽**表示。

(3)模組之間的呼叫關係

給出演算法各模組之間的關係圖示

3.源程式清單

為了提高工作效率,充分利用上機除錯程式的時間,要求學生在上機之前給出源程式清單。

4.演算法分析

經過上機除錯,源程式執行正確,並且實現演算法要求的功能,解決課程設計題目中給出的問題後,分析各模組演算法的時間複雜度和空間複雜度。進一步體會:程式=資料結構+ 演算法

上交的成果的內容由以下兩部分組成,缺一不可

1.上交源程式:學生按照課程設計的具體要求所開發的所有源程式(放乙個資料夾中);

2.課程設計報告:按照課程設計的具體要求建立的功能模組,每個模組要求按照如下幾個內容認真完成;其中包括:

設計題目

設計內容

概要設計:確定所需模組及模組間呼叫關係

演算法描述:給出各模組流程圖及**

演算法分析

心得體會

參考資料

1.程式設計結果(40%)

2.實驗報告(40%)

3.平時表現 (20%)

第12周周五下午17:40之前。

課程設計的時間及教師安排

問題描述:設計乙個演算法,實現兩個任意長的整數的加法運算。

基本要求:利用雙向迴圈鍊錶,設計乙個實現任意長的整數進行加法運算的演示程式。要求輸入和輸出每四位一組,組間用逗號隔開。如:1,0000,0000,0000,0000。

功能:使用鍊錶來表示集合,完成集合的交、並、差等操作。

主要包含以下內容:

1.初步完成總體設計,搭好框架,確定人機對話的介面,確定函式個數;

2.完成最低要求:

3.進一步要求:

功能: 完成兩個一元多項式作加法、乘法,給出明確的等式形式。

即:求:、

分步實施:

1.初步完成總體設計,搭好框架,確定人機對話的介面,確定函式個數;

2.完成最低要求:建立乙個檔案,實現兩個一元二次多項式作乘法。

用二叉鍊錶為儲存結構

1.以回車('\n')為輸入結束標誌,輸入數列l,生成一棵二叉排序樹t;

2.對二叉排序樹t作中序遍歷,輸出結果;

3.輸入元素x,查詢二叉排序樹t,若存在含x的結點,則刪除該結點,並作中序遍歷(執行操作;否則輸出資訊「無x」;

利用隨機函式產生n個隨機整數(20000以上),對這些數進行多種方法進行排序。

要求:1.至少採用三種方法實現上述問題求解(提示,可採用的方法有插入排序、希爾排序、起泡排序、快速排序、選擇排序、堆排序、歸併排序)。並把排序後的結果儲存在不同的檔案中。

2. 統計每一種排序方法的效能(以上機執行程式所花費的時間為準進行對比),找出其中兩種較快的方法。

3.如果採用4種或4種以上的方法者,可適當加分。

問題描述: 設計雜湊表實現**號碼查詢系統。

基本要求:

1、設每個記錄有下列資料項:**號碼、使用者名稱、位址;

2、從鍵盤輸入各記錄,分別以**號碼和使用者名為關鍵字建立雜湊表;

3、採用再雜湊法解決衝突;

4、查詢並顯示給定**號碼的記錄;

5、查詢並顯示給定使用者名稱的記錄。

6、在雜湊函式確定的前提下,嘗試各種不同型別處理衝突的方法(至少兩種),考察平均查詢長度的變化。

問題描述:討論對任意樹的儲存,並討論在此儲存結構下的基本操作。

1.建立樹(家譜)儲存結構;

2.樹(家譜)的遍歷方法;

3.結點(家譜成員)查詢;

4.求樹上結點(家譜成員)的路徑(即從根結點到此結點的路徑);

等操作,可以自由發揮。

假設一列貨運列車共有n節編號分別為1~n的車廂,在進站前這n節車廂並不是按其編號有序排列;現要求重新排列各車廂,使該列車在進入車站時,所有車廂從前到後按編號1~n的次序排列,以便各車廂能夠停靠在與其編號一致的站點。

為了達到這樣的效果,可以在乙個轉軌站裡完成車廂的重排工作。在轉軌站中有乙個入軌,乙個出軌和k個位於入軌與出軌間的緩衝鐵軌。如下圖所示。

開始時,具有n節車廂的貨車從入軌處進入轉軌站;轉軌結束時,各車廂從右到左按照編號1~n的次序通過出軌處離開轉軌站。

要求:給了演算法分析與完整的演算法程式。

假設一列貨運列車共有n節編號分別為1~n的車廂,在進站前這n節車廂並不是按其編號有序排列;現要求重新排列各車廂,使該列車在進入車站時,所有車廂從前到後按編號1~n的次序排列,以便各車廂能夠停靠在與其編號一致的站點。

為了達到這樣的效果,可以在乙個轉軌站裡完成車廂的重排工作。在轉軌站中有乙個入軌,乙個出軌和k個位於入軌與出軌間的緩衝鐵軌。如下圖所示。

開始時,具有n節車廂的貨車從入軌處進入轉軌站;轉軌結束時,各車廂從右到左按照編號1~n的次序通過出軌處離開轉軌站。

要求:給了演算法分析與完整的演算法程式。

功能要求:

1.介面友好,易與操作。可採用選單或其它人機對話方式進行選擇。

2.實現各種二叉樹的遍歷。包括先序遍歷、中序遍歷、後序遍歷、層次遍歷的非遞迴演算法。

3.演示程式以人機對話的形式進行。每次測試完畢正確顯示各種遍歷序列。

在報告中要註明:儲存結構、基本演算法(可以使用程式流程圖)、源程式、測試資料和結果、演算法的時間複雜度、另外可以提出演算法的改進方法。

問題描述參見課本.

實現以前序遍歷的方式線索化二叉樹。

實現以中序遍歷的方式線索化二叉樹。

實現以後序遍歷的方式線索化二叉樹。

採用順序儲存結構實現多棧共享,要求模擬完成進棧、出棧等過程。

任意給定一組資料,完成二叉排序樹的建立,若為非平衡二叉樹,自動調整為平衡二叉排序樹。要求:完成建立、插入、刪除等操作。

為宿舍管理人員編寫乙個宿舍管理查詢軟體, 程式設計要求:

1.採用互動工作方式;

2.建立資料檔案,資料檔案按關鍵字(姓名、學號、房號)進行排序;

3.查詢選單: (用二分查詢實現以下操作)按姓名查詢、按學號查詢、按房號查詢

4.輸出任一查詢結果(可以連續操作)

實現功能:輸入、輸出、插入、刪除、查詢、追加、讀入、顯示、儲存、拷貝、排序、索引、分類合計、退出。

設計要求:在n個城市之間建設網路,只需保證連通即可,求最經濟的架設方法。儲存結構採用多種。求解演算法多種。

設計乙個計算機管理系統完成圖書管理基本業務。

基本要求:

1.每種書的登記內容包括書號、書名、著作者、現存量和庫存量;

2.對書號建立索引表(線性表)以提高查詢效率;

3.系統主要功能如下:

採編入庫:新購一種書,確定書號後,登記到圖書帳目表中,如果表中已有,則只將庫存量增加;

借閱:如果一種書的現存量大於0,則借出一本,登記借閱者的書證號和歸還期限,改變現存量;

歸還:登出對借閱者的登記,改變該書的現存量。

進一步完成內容

系統功能的進一步完善;

索引表採用樹表。

要求:實現三元組,十字鍊錶下的稀疏矩陣的加、轉、乘的實現。

(1)稀疏矩陣的儲存;

(2)稀疏矩陣加法;

(3)矩陣乘法;

(4)矩陣轉置。

問題描述:給定乙個地區的n個城市間的距離網,用prim演算法或kruskal演算法建立最小生成樹,並計算得到的最小生成樹的代價。

資料結構課程設計任務書

專業年級班 一 設計題目 學生成績管理系統的設計 二 主要內容 外存用檔案的形式,記憶體採用不同的資料結構完成對學生 班級 課程 成績進行管理。三 具體要求 在記憶體中完成對學生資訊按姓名形成乙個排序二叉樹並進行維護在記憶體中對班級 課程表形成乙個鍊錶,並進行維護在記憶體中用陣列的形式完成成績表的維...

《資料結構》課程設計任務書

學生姓名專業班級 軟體080 班 指導教師 夏紅霞工作單位 電腦科學與技術學院 題目 學生成績管理程式的設計與實現 課程設計要求 1 熟練掌握基本的資料結構 2 熟練掌握各種演算法 3 運用高階語言編寫質量高 風格好的應用程式。課程設計任務 1 系統應具備的功能 1 對學生的姓名 各科成績進行輸入和...

《資料結構》課程設計任務書

一 課程設計的任務 每位同學做兩題 一題在設計題中每人相對應一題號 另一題必選題 每個班級有一必選題 二.要求 1 對相應的題目進行演算法設計 2 編寫源 3 上機除錯 4 顯示除錯結果 5 寫出實驗總結 三 課程設計進度安排 設計總學時為2周 課程設計每週大體分五個階段 1 選題與蒐集資料 每人選...