



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)指導(dǎo)-數(shù)據(jù)結(jié)構(gòu) B精品文檔附錄綜合實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康谋菊n程的目標(biāo)之一是使得學(xué)生學(xué)會如何從問題出發(fā),分析數(shù)據(jù),構(gòu)造求解問題的數(shù)據(jù)結(jié)構(gòu)和算法,培養(yǎng)學(xué)生進(jìn)行較復(fù)雜程序設(shè)計的能力。本課程實(shí)踐性較強(qiáng),為實(shí)現(xiàn)課程目標(biāo),要求學(xué)生完成一定數(shù)量的上機(jī)實(shí)驗(yàn)。從而一方面使得學(xué)生加深對課內(nèi)所學(xué)的各種數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲表示和運(yùn)算的方法等基本內(nèi)容的理解,學(xué)習(xí)如何運(yùn)用所學(xué)的數(shù)據(jù)結(jié)構(gòu)和算法知識解決應(yīng)用問題的方法;另一方面,在程序設(shè)計方法、C 語言編程環(huán)境以及程序的調(diào)試和測試等方面得到必要的訓(xùn)練。2、實(shí)驗(yàn)基本要求:1)學(xué)習(xí)使用自頂向下的分析方法,分析問題空間中存在哪些模塊,明確這些模塊之間的關(guān)系。2)使用結(jié)構(gòu)化的系統(tǒng)設(shè)計方
2、法,將系統(tǒng)中存在的各個模塊合理組織成層次結(jié)構(gòu),并明確定義各個結(jié)構(gòu)體。確定模塊的主要數(shù)據(jù)結(jié)構(gòu)和接口。3)熟練使用 C 語言環(huán)境來實(shí)現(xiàn)或重用模塊,從而實(shí)現(xiàn)系統(tǒng)的層次結(jié)構(gòu)。模塊的實(shí)現(xiàn)包括結(jié)構(gòu)體的定義和函數(shù)的實(shí)現(xiàn)。4)學(xué)會利用數(shù)據(jù)結(jié)構(gòu)所學(xué)知識設(shè)計結(jié)構(gòu)清晰的算法和程序,并會分析所設(shè)計的算法的時間和空間復(fù)雜度。5)所有的算法和實(shí)現(xiàn)均使用C 語言進(jìn)行描述,實(shí)驗(yàn)結(jié)束寫出實(shí)驗(yàn)報告。收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔3、實(shí)驗(yàn)項(xiàng)目與內(nèi)容:1、線性表的基本運(yùn)算及多項(xiàng)式的算術(shù)運(yùn)算內(nèi)容:實(shí)現(xiàn)順序表和單鏈表的基本運(yùn)算,多項(xiàng)式的加法和乘法算術(shù)運(yùn)算。要求:能夠正確演示線性表的查找、插入、刪除運(yùn)算。實(shí)現(xiàn)多項(xiàng)式的加法和乘
3、法運(yùn)算操作。2、二叉樹的基本操作及哈夫曼編碼譯碼系統(tǒng)的實(shí)現(xiàn)內(nèi)容:創(chuàng)建一棵二叉樹,實(shí)現(xiàn)先序、中序和后序遍歷一棵二叉樹,計算二叉樹結(jié)點(diǎn)個數(shù)等操作。哈夫曼編碼 /譯碼系統(tǒng)。要求:能成功演示二叉樹的有關(guān)運(yùn)算,實(shí)現(xiàn)哈夫曼編碼 /譯碼的功能,運(yùn)算完畢后能成功釋放二叉樹所有結(jié)點(diǎn)占用的系統(tǒng)內(nèi)存。3、圖的基本運(yùn)算及智能交通中的最佳路徑選擇問題內(nèi)容:在鄰接矩陣和鄰接表兩種不同存儲結(jié)構(gòu)上實(shí)現(xiàn)圖的基本運(yùn)算的算法,實(shí)現(xiàn)圖的深度和寬度優(yōu)先遍歷算法,解決智能交通中的路徑選擇問題。設(shè)有 n 個地點(diǎn),編號為 0n-1,m 條路徑的起點(diǎn)、終點(diǎn)和代價由用戶輸入提供,尋找最佳路徑方案(例如花費(fèi)時間最少、路徑長度最短、交通費(fèi)用最小等,
4、任選其一即可)。要求:設(shè)計主函數(shù),測試上述運(yùn)算。4、各種內(nèi)排序算法的實(shí)現(xiàn)及性能比較內(nèi)容:驗(yàn)證教材的各種內(nèi)排序算法。分析各種排序算法的時間復(fù)雜度。要求:使用隨機(jī)數(shù)產(chǎn)生器產(chǎn)生較大規(guī)模數(shù)據(jù)集合,運(yùn)行上述各種排序算法,使用系統(tǒng)時鐘測量各算法所需的實(shí)際時間,并進(jìn)行比較。收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔4、實(shí)驗(yàn)報告范例:實(shí)驗(yàn)班級 _姓名 _學(xué)號 _日期 _1. 實(shí)驗(yàn)?zāi)康模海ǘ笠鴾?zhǔn)確地描述所求解的實(shí)驗(yàn)項(xiàng)目的目的。)2. 實(shí)驗(yàn)任務(wù):(明確實(shí)驗(yàn)項(xiàng)目的任務(wù)和演示程序的主要功能。)3. 實(shí)驗(yàn)內(nèi)容:(使用模塊和流程圖表示系統(tǒng)分析和設(shè)計的結(jié)果,描述各模塊之間的層次結(jié)構(gòu),給出函數(shù)之間的調(diào)用關(guān)系和數(shù)據(jù)傳遞方式
5、,給出核心算法的C 源代碼,并加上詳細(xì)注釋,分析主要算法的時間復(fù)雜度,必要時分析空間復(fù)雜度,給出算法分析的計算過程。)4. 實(shí)驗(yàn)過程描述:收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔( 列出實(shí)驗(yàn)所用的測試用例和相應(yīng)的程序運(yùn)行結(jié)果(需要程序運(yùn)行結(jié)果的屏幕截圖 ),總結(jié)本次實(shí)驗(yàn),包括對測試結(jié)果的分析,測試和調(diào)試過程遇到問題的回顧和分析,軟件設(shè)計與實(shí)現(xiàn)的經(jīng)驗(yàn)和體會,進(jìn)一步改進(jìn)的設(shè)想。)收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔實(shí)驗(yàn) 1 線性表及多項(xiàng)式的運(yùn)算一、實(shí)驗(yàn)?zāi)康?、掌握線性表的兩種基本存儲結(jié)構(gòu)及其應(yīng)用場合:順序存儲和鏈接存儲。2、掌握順序表和鏈表的各種基本操作算法。3、理解線性表應(yīng)用于多項(xiàng)式
6、的實(shí)現(xiàn)算法。二、實(shí)驗(yàn)內(nèi)容1、參照程序 2.12.7,編寫程序,完成順序表的初始化、查找、插入、刪除、輸出、撤銷等操作。2、已知帶表頭結(jié)點(diǎn)單鏈表的類型定義如下:typedef struct nodeElemType element; /結(jié)點(diǎn)的數(shù)據(jù)域struct node *link;/ 結(jié)點(diǎn)的指針域node;typedef structstruct node * head;int n;headerList;參照程序 2.82.14,編寫程序,完成帶表頭結(jié)點(diǎn)單鏈表的初始化、查找、插入、刪除、輸出、撤銷等操作。3、以題 2 所示帶表頭結(jié)點(diǎn)單鏈表為存儲結(jié)構(gòu),編寫程序?qū)崿F(xiàn)單鏈表的逆置操作。(原單鏈表為(
7、 a0,a1, ,an-1 ),逆置后為( an-1 , an-2 , ,a0),要求不引入新的存儲空間) 。4、以題 2 所示帶表頭結(jié)點(diǎn)單鏈表為存儲結(jié)構(gòu),編寫程序?qū)崿F(xiàn)將單鏈表排序成為有序單鏈表的操作。5、已知帶表頭結(jié)點(diǎn)一元多項(xiàng)式的類型定義如下:typedef struct pNode收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔int coef;int exp;struct pNode* link; pNode; typedef structstruct pNode *head; polynominal;編寫程序?qū)崿F(xiàn)一元多項(xiàng)式的創(chuàng)建、輸出、撤銷以及兩個一元多項(xiàng)式相加和相乘的操作。收集于網(wǎng)絡(luò),如
8、有侵權(quán)請聯(lián)系管理員刪除精品文檔實(shí)驗(yàn) 2 二叉樹的基本操作及哈夫曼編碼譯碼系統(tǒng)的實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?、掌握二叉樹的二叉鏈表存儲表示及遍歷操作實(shí)現(xiàn)方法。2、實(shí)現(xiàn)二叉樹遍歷運(yùn)算的應(yīng)用:求二叉樹中葉子結(jié)點(diǎn)個數(shù)、結(jié)點(diǎn)總數(shù)、二叉樹的高度、交換二叉樹的左右子樹等。3、掌握二叉樹的應(yīng)用 哈夫曼編碼的實(shí)現(xiàn)。二、實(shí)驗(yàn)內(nèi)容1、已知二叉樹二叉鏈表結(jié)點(diǎn)結(jié)構(gòu)定義如下:typedef struct BinaryTreeNodeT Data;struct BinaryTreeNode * LChild , * RChild; BinaryTreeNode, * BinTree;參照程序 5.15.4,編寫程序,完成二叉樹的先序
9、創(chuàng)建、先序遍歷、中序遍歷、后序遍歷等操作。2、以題 1 所示二叉鏈表為存儲結(jié)構(gòu),編寫程序?qū)崿F(xiàn)求二叉樹結(jié)點(diǎn)個數(shù)、葉子結(jié)點(diǎn)個數(shù)、二叉樹的高度以及交換二叉樹所有左右子樹的操作。3、已知哈夫曼樹結(jié)點(diǎn)結(jié)構(gòu)定義如下:typedefElementType Data;/ 結(jié)點(diǎn)的數(shù)據(jù)域int w;/ 結(jié)點(diǎn)的權(quán)值int parent, lchild, rchild;/結(jié)點(diǎn)的雙親、左孩子、右孩子HFMTNode;編寫程序,實(shí)現(xiàn)哈夫曼樹的創(chuàng)建、哈夫曼編碼以及解碼的實(shí)現(xiàn)。收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔實(shí)驗(yàn) 3 圖的基本運(yùn)算及飛機(jī)換乘次數(shù)最少問題一、實(shí)驗(yàn)?zāi)康?、掌握圖的鄰接矩陣和鄰接表的存儲實(shí)現(xiàn)方法。2、實(shí)
10、現(xiàn)圖的深度優(yōu)先和寬度優(yōu)先遍歷運(yùn)算。3、學(xué)習(xí)使用圖算法解決應(yīng)用問題的方法。二、實(shí)驗(yàn)內(nèi)容1、已知圖的鄰接矩陣結(jié)構(gòu)定義如下:typedef int ElemType;typedef structElemType *a;/鄰接矩陣int n;/圖的當(dāng)前頂點(diǎn)數(shù)int e;/圖的當(dāng)前邊數(shù)ElemType noEdge;/兩頂點(diǎn)間無邊時的值 mGraph;參照程序 9.19.5,編寫程序,完成鄰接矩陣的初始化、撤銷、邊的搜索、插入、刪除等操作。2、以題 1 所示鄰接矩陣為存儲結(jié)構(gòu),編寫程序,實(shí)現(xiàn)圖的深度、寬度優(yōu)先遍歷。3、已知圖的鄰接表結(jié)構(gòu)定義如下:typedef struct eNodeint adjVe
11、x;/任意頂點(diǎn) u 相鄰接的頂點(diǎn)ElemType w;/邊的權(quán)值struct eNode* nextArc;/指向下一個邊結(jié)點(diǎn)收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔eNode;typedef structint n;/圖的當(dāng)前頂點(diǎn)數(shù)int e;/圖的當(dāng)前邊數(shù)eNode *a;/指向一維指針數(shù)組lGraph;參照程序 9.69.10,編寫程序,完成鄰接表的初始化、撤銷、邊的搜索、插入、刪除等操作。4、以題 3 所示鄰接表為存儲結(jié)構(gòu),編寫程序,實(shí)現(xiàn)圖的深度、寬度優(yōu)先遍歷。5、編寫程序,實(shí)現(xiàn)飛機(jī)最少換乘次數(shù)問題:設(shè)有n 個城市,編號為0n-1 ,m 條航線的起點(diǎn)和終點(diǎn)由用戶輸入提供。一條換乘次
12、數(shù)最少的線路方案。(提示:可以使用有向圖表示城市間的航線;只要兩個城市間有航班,則圖中這兩點(diǎn)間存在一條權(quán)為 1 的邊;可以使用 Dijkstra 算法實(shí)現(xiàn))收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔實(shí)驗(yàn) 4 各種內(nèi)排序算法的實(shí)現(xiàn)及性能比較一、實(shí)驗(yàn)?zāi)康?、掌握各種內(nèi)排序算法的實(shí)現(xiàn)方法。2、學(xué)會分析各種內(nèi)排序算法的時間復(fù)雜度。二、實(shí)驗(yàn)內(nèi)容1、已知待排序序列以順序表結(jié)構(gòu)實(shí)現(xiàn),數(shù)據(jù)元素以及表結(jié)構(gòu)定義如下:typedef struct entry/數(shù)據(jù)元素KeyType key;/排序關(guān)鍵字, KeyType 應(yīng)該為可比較類型DataType data;/data包含數(shù)據(jù)元素中的其他數(shù)據(jù)項(xiàng);typedef struct list/順序表int n;/待排序數(shù)據(jù)元素數(shù)量EntryDMaxSize;/靜態(tài)數(shù)組存儲數(shù)據(jù)元素List;參照程序 10.1 10.7,編寫算法,分別實(shí)現(xiàn)順序表的簡單選擇排序、直接插入排序、冒泡排序、快速排序、兩路合并排序以及堆排序。2、編寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國LNG水上加氣站發(fā)展?fàn)顩r與前景投資策略建議報告
- 2025至2031年中國管狀加熱型紅外電磁波加熱器行業(yè)投資前景及策略咨詢研究報告
- 2025-2030年中國4G行業(yè)運(yùn)行現(xiàn)狀與投資發(fā)展商機(jī)研究報告
- 云計算平臺存儲架構(gòu)設(shè)計
- 2025公司級安全培訓(xùn)考試試題答案4A
- 2025企業(yè)負(fù)責(zé)人安全培訓(xùn)考試試題全套
- 2025項(xiàng)目管理人員年度安全培訓(xùn)考試試題帶答案(典型題)
- 2024-2025公司級安全培訓(xùn)考試試題答案4A
- 2025新員工入職前安全培訓(xùn)考試試題答案高清
- 2024-2025新員工入職安全培訓(xùn)考試試題含完整答案【必刷】
- 創(chuàng)業(yè)培訓(xùn)講師手冊
- 威脅情報評估體系-洞察分析
- 2024 CSCO 黑色素瘤指南解讀
- 弘揚(yáng)航天精神擁抱星辰大海!課件高一上學(xué)期載人航天主題班會
- 中國類風(fēng)濕關(guān)節(jié)炎診療指南(2024版)解讀
- 小學(xué)六年級科學(xué)(人教版)《各種各樣的自然資源》-教學(xué)設(shè)計、課后練習(xí)、學(xué)習(xí)任務(wù)單
- 幼兒園小班健康《打針吃藥我不怕》課件
- 可再生能源預(yù)測技術(shù)研究
- 新高考背景下高考數(shù)學(xué)重點(diǎn)板塊分析與教學(xué)建議課件
- 物業(yè)五級三類服務(wù)統(tǒng)一標(biāo)準(zhǔn)
- 肥胖患者麻醉管理專家共識
評論
0/150
提交評論