算法與數(shù)據(jù)結(jié)構(gòu)實驗冊_第1頁
算法與數(shù)據(jù)結(jié)構(gòu)實驗冊_第2頁
算法與數(shù)據(jù)結(jié)構(gòu)實驗冊_第3頁
算法與數(shù)據(jù)結(jié)構(gòu)實驗冊_第4頁
算法與數(shù)據(jù)結(jié)構(gòu)實驗冊_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、金陵科技學院實驗報告學 生 實 驗 報 告 冊(理工類)課程名稱:算法與數(shù)據(jù)結(jié)構(gòu) 專業(yè)班級: 學生學號: 學生姓名: 所屬院部: 指導教師: 20 20 學年 第 學期 金陵科技學院教務(wù)處制實驗報告書寫要求實驗報告原則上要求學生手寫,要求書寫工整。若因課程特點需打印的,要遵照以下字體、字號、間距等的具體要求。紙張一律采用A4的紙張。實驗報告書寫說明實驗報告中一至四項內(nèi)容為必填項,包括實驗?zāi)康暮鸵?;實驗儀器和設(shè)備;實驗內(nèi)容與過程;實驗結(jié)果與分析。各院部可根據(jù)學科特點和實驗具體要求增加項目。填寫注意事項(1)細致觀察,及時、準確、如實記錄。(2)準確說明,層次清晰。(3)盡量采用專用術(shù)語來說明事

2、物。(4)外文、符號、公式要準確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號。(5)應(yīng)獨立完成實驗報告的書寫,嚴禁抄襲、復印,一經(jīng)發(fā)現(xiàn),以零分論處。實驗報告批改說明實驗報告的批改要及時、認真、仔細,一律用紅色筆批改。實驗報告的批改成績采用百分制,具體評分標準由各院部自行制定。實驗報告裝訂要求實驗批改完畢后,任課老師將每門課程的每個實驗項目的實驗報告以自然班為單位、按學號升序排列,裝訂成冊,并附上一份該門課程的實驗大綱。實驗項目名稱: 順序表 實驗學時: 2 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗1 順序表一、實驗?zāi)康暮鸵笳莆枕樞虮淼亩ㄎ?、插入、刪除等操作。二、實驗儀

3、器和設(shè)備VC6.0三、實驗內(nèi)容與過程(含程序清單及流程圖)1、必做題(1) 編寫程序建立一個順序表,并逐個輸出順序表中所有數(shù)據(jù)元素的值。編寫主函數(shù)測試結(jié)果。(2) 編寫順序表定位操作子函數(shù),在順序表中查找是否存在數(shù)據(jù)元素x。如果存在,返回順序表中和x值相等的第1個數(shù)據(jù)元素的序號(序號從0開始編號);如果不存在,返回1。編寫主函數(shù)測試結(jié)果。(3) 在遞增有序的順序表中插入一個新結(jié)點x,保持順序表的有序性。解題思路:首先查找插入的位置,再移位,最后進行插入操作;從第一個元素開始找到第一個大于該新結(jié)點值x的元素位置i即為插入位置;然后將從表尾開始依次將元素后移一個位置直至元素i;最后將新結(jié)點x插入到

4、i位置。(4) 刪除順序表中所有等于X的數(shù)據(jù)元素。2、選做題(5) 已知兩個順序表A和B按元素值遞增有序排列,要求寫一算法實現(xiàn)將A和B歸并成一個按元素值遞減有序排列的順序表(允許表中含有值相同的元素)。程序清單:四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)五、實驗體會(遇到問題及解決辦法,編程后的心得體會)實驗項目名稱: 單鏈表 實驗學時: 2 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗2 單鏈表一、實驗?zāi)康暮鸵?、實驗?zāi)康恼莆諉捂湵淼亩ㄎ?、插入、刪除等操作。2、實驗要求(1)注意鏈表的空間是動態(tài)分配的,某結(jié)點不用之后要及時進行物理刪除,以便釋放其內(nèi)存空間

5、。(2)鏈表不能實現(xiàn)直接定位,一定注意指針的保存,防止丟失。二、實驗儀器和設(shè)備Visual C+6.0三、實驗內(nèi)容與過程(含程序清單及流程圖)1、必做題(1) 編寫程序建立一個單鏈表,并逐個輸出單鏈表中所有數(shù)據(jù)元素。(2) 在遞增有序的單鏈表中插入一個新結(jié)點x,保持單鏈表的有序性。解題思路:首先查找插入的位置然后進行插入操作;從第一個結(jié)點開始找到第一個大于該新結(jié)點值的結(jié)點即為插入位置;然后在找到的此結(jié)點之前插入新結(jié)點;注意保留插入位置之前結(jié)點的指針才能完成插入操作。(3) 編寫實現(xiàn)帶頭結(jié)點單鏈表就地逆置的子函數(shù),并編寫主函數(shù)測試結(jié)果。2、選做題已知指針LA和LB分別指向兩個無頭結(jié)點單鏈表的首元

6、結(jié)點。要求編一算法實現(xiàn),從表LA中刪除自第i個元素起共len個元素后,將它們插入到表LB中第j個元素之前。程序清單:四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)五、實驗體會(遇到問題及解決辦法,編程后的心得體會)實驗項目名稱: 堆棧和隊列 實驗學時: 2 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗3 堆棧和隊列一、實驗?zāi)康暮鸵螅?)掌握應(yīng)用棧解決問題的方法。(2)掌握利用棧進行表達式求和的算法。(3)掌握隊列的存儲結(jié)構(gòu)及基本操作實現(xiàn),并能在相應(yīng)的應(yīng)用問題中正確選用它們。二、實驗儀器和設(shè)備Visual C+6.0三、實驗內(nèi)容與過程(含程序清單及流程圖)1、必

7、做題(1) 判斷一個算術(shù)表達式中開括號和閉括號是否配對。(2) 測試“漢諾塔”問題。(3) 假設(shè)稱正讀和反讀都相同的字符序列為”回文”,試寫一個算法判別讀入的一個以為結(jié)束符的字符序列是否是“回文”。2、選做題在順序存儲結(jié)構(gòu)上實現(xiàn)輸出受限的雙端循環(huán)隊列的入列和出列算法。設(shè)每個元素表示一個待處理的作業(yè),元素值表示作業(yè)的預(yù)計時間。入隊列采取簡化的短作業(yè)優(yōu)先原則,若一個新提交的作業(yè)的預(yù)計執(zhí)行時間小于隊頭和隊尾作業(yè)的平均時間,則插入在隊頭,否則插入在隊尾。程序清單:四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)五、實驗體會(遇到問題及解決辦法,編程后的心得體會)實驗項目名稱: 串 實驗學時: 2 同組學生姓

8、名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗4 串一、實驗?zāi)康暮鸵笳莆沾拇鎯皯?yīng)用。二、實驗儀器和設(shè)備Visual C+6.0三、實驗內(nèi)容與過程(含程序清單及流程圖)1、必做題(1) 編寫輸出字符串s中值等于字符ch的第一個字符的函數(shù),并用主函數(shù)測試結(jié)果。(2) 編寫輸出字符串s中值等于字符ch的所有字符的函數(shù),并用主函數(shù)測試結(jié)果。解題思路:可以將第一題程序改進成一個子函數(shù),在本題中循環(huán)調(diào)用。(3) 設(shè)字符串采用單字符的鏈式存儲結(jié)構(gòu),編程刪除串s從位置i開始長度為k的子串。2、選做題假設(shè)以鏈結(jié)構(gòu)表示串,編寫算法實現(xiàn)將串S插入到串T中某個字符之后,若串T中不存在這個

9、字符,則將串S聯(lián)接在串T的末尾。提示:為提高程序的通用性,插入位置字符應(yīng)設(shè)計為從鍵盤輸入。程序清單:四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)五、實驗體會(遇到問題及解決辦法,編程后的心得體會)實驗項目名稱: 二叉樹 實驗學時: 2 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗5 二叉樹一、實驗?zāi)康暮鸵螅?)掌握二叉樹的生成,以及前、中、后序遍歷算法。(2)掌握應(yīng)用二叉樹遞歸遍歷思想解決問題的方法。二、實驗儀器和設(shè)備Visual C+6.0三、實驗內(nèi)容與過程(含程序清單及流程圖)1、必做題(1) 建立一棵二叉樹。對此樹進行前序遍歷、中序遍歷及后序遍歷,輸出

10、遍歷序列。(2) 在第一題基礎(chǔ)上,求二叉樹中葉結(jié)點的個數(shù)。(3) 在第一題基礎(chǔ)上,求二叉樹中結(jié)點總數(shù)。(4) 在第一題基礎(chǔ)上,求二叉樹的深度。2、選做題已知一棵完全二叉樹存于順序表sa中,sa.elem1sa.last存儲結(jié)點的值。試編寫算法由此順序存儲結(jié)構(gòu)建立該二叉樹的二叉鏈表。解題思路:根據(jù)完全二叉樹順序存儲的性質(zhì)來確定二叉樹的父子關(guān)系即“還原”了二叉樹,之后再按照二叉樹二叉鏈表的構(gòu)造方法進行建立。完全二叉樹順序存儲的一個重要性質(zhì)為,第i個結(jié)點的左孩子是編號為2i的結(jié)點,第i個結(jié)點的右孩子是編號為2i+1的結(jié)點。程序清單:四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)五、實驗體會(遇到問題及解

11、決辦法,編程后的心得體會)實驗項目名稱: 圖 實驗學時: 2 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗6 圖一、實驗?zāi)康暮鸵螅?)熟練掌握圖的基本概念、構(gòu)造及其存儲結(jié)構(gòu)。(2)熟練掌握對圖的深度優(yōu)先搜索遍歷和廣度優(yōu)先搜索遍歷的算法。二、實驗儀器和設(shè)備Visual C+6.0三、實驗內(nèi)容與過程(含程序清單及流程圖)1、必做題(1)構(gòu)造一個無向圖(用鄰接矩陣表示存儲結(jié)構(gòu))。(2)對上面所構(gòu)造的無向圖,進行深度優(yōu)先遍歷和廣度優(yōu)先遍歷,輸出遍歷序列。2、選做題采用鄰接表存儲結(jié)構(gòu),編寫一個判別無向圖中任意給定的兩個頂點之間是否存在一條長度為k的簡單路徑的算法。簡

12、單路徑是指其頂點序列中不含有重復頂點的路徑。提示:兩個頂點及k值均作為參數(shù)給出。程序清單:四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)五、實驗體會(遇到問題及解決辦法,編程后的心得體會)實驗項目名稱: 排序 實驗學時: 2 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗7 排序一、實驗?zāi)康暮鸵螅?)熟練掌握希爾排序、堆排序、直接插入排序、起泡排序、快速排序、直接選擇排序、歸并排序和基數(shù)排序的基本概念。(2)掌握以上各種排序的算法。區(qū)分以上不同排序的優(yōu)、缺點。二、實驗儀器和設(shè)備Visual C+6.0三、實驗內(nèi)容與過程(含程序清單及流程圖)1、必做題用隨機數(shù)產(chǎn)生

13、100000個待排序數(shù)據(jù)元素的關(guān)鍵字值。測試下列各排序函數(shù)的機器實際執(zhí)行時間(至少測試兩個):直接插入排序、希爾排序(增量為4,2,1)、冒泡排序、快速排序、直接選擇排序、二路歸并排序、堆排序和基于鏈式隊列的基數(shù)排序。2、選做題假設(shè)含n個記錄的序列中,其所有關(guān)鍵字為值介于v和w之間的整數(shù),且其中很多關(guān)鍵字的值是相同的。則可按如下方法排序:另設(shè)數(shù)組numbervw,令numberi統(tǒng)計關(guān)鍵字為整數(shù)i的紀錄個數(shù),然后按number重排序列以達到有序。試編寫算法實現(xiàn)上述排序方法,并討論此種方法的優(yōu)缺點。程序清單:四、實驗結(jié)果與分析(程序運行結(jié)果及其分析)五、實驗體會(遇到問題及解決辦法,編程后的心得體會)實驗項目名稱: 查找 實驗學時: 2 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 實驗8 查找一、實驗?zāi)康暮鸵螅?)掌握順序表查找、有序表查找、索引順序表查找的各種算法。(2)掌握哈希表設(shè)計。二、實驗儀器和設(shè)備Visual C+6.0三

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論