【基本功能】
乙個完整的系統應具有以下功能:
1. 初始化:輸入一串字元(正文),計算不同字元 (包括空格)的數目以及每種字元出現的頻率(以該種字元出現的次數作為其出現頻率),根據權值建立哈夫曼樹,輸出每一種字元的哈夫曼編碼。
2. 編碼:利用求出的哈夫曼編碼,對該正文(字串)進行編碼,並輸出。
3. 解碼:對於得到的一串編碼,利用已求得的哈夫曼編碼進行解碼,將譯出的正文輸出。
4. 輸出哈夫曼樹形態:以樹的形式輸出哈夫曼樹。
【測試資料】
1. 初始化:
(1) 輸入正文「there are three students」
(2) 統計字元出現次數並輸出
(3) 根據字元出現次數求出哈夫曼編碼並輸出(根據演算法差異得到的編碼可能不同,但應具有兩個特徵,一是編碼長度應與表中相同,二是編碼應該是字首編碼)
(4) 以樹的形式輸出哈夫曼樹
2. 編碼:
傳送方利用得到的哈夫曼編碼對正文進行編碼,輸出密文應為:
3. 解碼:
接收方利用哈夫曼編碼對密文進行解碼,輸出譯後的字串應為:
there are three students
題目2. 二叉排序樹的建立、插入、刪除和查詢操作的演示。要求完成以下功能:
1. 給出一組關鍵值,建立相應的二叉排序樹,並顯示建立的二叉排序樹;
2. 顯示二叉排序樹;
3. 刪除乙個結點的操作。要求可以實現刪除根結點、葉子結點以及其它任意結點的功能,並顯示操作前、後的二叉排序樹;
4. 插入乙個新結點的操作,並顯示操作前、後的二叉排序樹;
5. 對給定的值在二叉排序樹進行查詢,並給出查詢結果。
題目3. 排序演算法的演示,要求:
1. 對每一種排序演算法的演示,首先輸入一組關鍵字,然後顯示從初始開始時的每一趟的變化情況;
2. 在設計報告中對各種排序演算法的排序效能作出分析和比較。
3. 待演示的排序演算法如下:
(1) 直接插入排序;
(2) 氣泡排序;
(3) 簡單選擇排序;
(4) 快速排序;
(5) 堆排序;
(6) 歸併排序。
題目4. 對以鄰接鍊錶的方式儲存的乙個有向網,要求完成以下功能:
1. 建立並顯示出有向網的鄰接鍊錶;
2. 對該有向網進行深度優先遍歷(遞迴或非遞迴都可以),顯示遍歷的結果;
3. 給出某一確定頂點到所有其它頂點的最短路徑及其長度。
題目5. 對以鄰接矩陣的方式儲存乙個無向網,要求完成以下功能:
1. 建立並顯示出無向網的鄰接矩陣;
2. 對該無向網進行廣度優先遍歷,顯示遍歷的結果(並隨時顯示佇列的入、出情況);
3. 用普里姆演算法構造其最小生成樹,顯示其構造的過程。
制定人: 施化吉審定人批准人:
2023年12月8日
資料結構課程設計要求 2019版
harbin institute of technology at weihai 資料結構課程設計任務書 設計題目 院系班級 學號設計者 哈爾濱工業大學 威海 哈爾濱工業大學 威海 資料結構課程設計任務書 說明 1 任務書每組乙份 2 課程設計報告每人乙份,組內成員不能內容相同,每個人都從自己的角度...
資料結構課程設計
指導書山東建築大學 電腦科學與技術學院 二 六年十二月 課程設計基本情況 課程名稱 資料結構課程設計 相關課程 c語言程式設計 visual c 程式設計 資料結構 適合專業 電腦科學與技術 網路工程 軟體工程 設計週數 2周 學分 2學分 開課學期 第4學期 開課單位 電腦科學與技術學院 一 課程...
資料結構課程設計
總結報告 專業軟體工程 班級軟體1007 學號 20103540 姓名 日期 2012.9.17 東北大學軟體學院 第一章需求分析 問題定義 實現乙個網上拍賣系統,根據需求描述和附加的框架 完成乙個網上拍賣系統。分析 整個系統執行於windows平台,是基於b s結構的商業應用程式,程式為使用者提供...