一、實驗內容
實驗一順序表
1.目的(1)掌握線性表的概念。(2)熟練掌握線性表的順序儲存結構。(3)熟練掌握線性表在順序儲存結構上的運算。(4)了解測試的思想。
2.內容
(1)編寫演算法實現順序表中元素的逆置。要求按使用者輸入的資料建立乙個順序表。在逆置的過程中使用最少的輔助儲存單元。
測試要求:在空表、長度為奇數和偶數的情況下測試程式運**況。
(2)己知順序表中的元素非遞減有序排列,編寫演算法刪除順序表中值相同的多餘的元素。測試要求:在空表、有1組相同元素、有2組連續相同元素、有2組以上不連續相同元素的情況下測試程式運**況。
(3)編寫演算法,在非遞減有序的順序表中,插入乙個給定的元素,插入後該順序表仍然遞增有序。測試要求:在空表、表頭、表尾、表中間插入及位置非法的情況下測試程式運**況。
(4)有兩個順序表a(有m個元素)和b(有n個元素),其元素均按從小到大的公升序排列。編寫演算法,將這兩個順序表合併成乙個順序表c,要求c也是按從小到大的公升序排列。測試要求:
在a與b均空、a與b乙個為空、a與b均不空且等長、a與b均不空且不等長的情況下測試程式運**況。
實驗二鍊錶
1.目的(1)掌握鍊錶的概念。(2)熟練掌握線性表的鏈式儲存結構。(3)熟練掌握線性表在鏈式儲存結構上的運算。
2.內容
(1)編寫演算法,根據使用者輸入的整數分別用尾插法和頭插法建立乙個帶頭結點的單鏈表,-1作為輸入資料的結束符。測試要求:建立空鍊錶、非空鍊錶的情況下測試程式運**況。
(2)編寫演算法,在帶有頭結點的單鏈表中查詢序號為i的結點和值為x的結點並輸出。測試要求:在空鍊錶、i與x在煉表頭、i與x在鍊錶尾、i與x在鍊錶中間、i與x在鍊錶中不存在的情況下測試程式運**況。
(3)己知單鏈表中的元素非遞減有序排列,編寫演算法刪除單鏈表中值相同的多餘的元素。測試要求:在空鍊錶、有1組相同元素、有2組連續相同元素、有2組以上不連續相同元素的情況下測試程式運**況。
(4)已知單鏈表中的資料元素遞增有序,編寫演算法,刪除表中值在min與max之間的結點。測試要求:在空鍊錶、max小於鍊錶第1個元素值、min大於鍊錶最後1個元素值、min與max在鍊錶中間的情況下測試程式運**況。
實驗三排序
1.目的: (1)掌握直接插入排序的演算法。 (2)掌握氣泡排序的演算法。 (3)掌握簡單選擇排序的演算法。
2.內容:編寫演算法,利用直接插入排序的演算法、氣泡排序的演算法、簡單選擇排序的演算法(快速排序與堆排序自選)對資料序列進行排序(大於20000個資料,可用隨機函式產生資料)。測試要求:
在原始資料隨機、正序和逆序情況下,進行排序效率的比較,給出結果(排序使用的時間表)。
提示:隨機函式:srand(time(null)); rand()%n+1
排序時間#include <>
time_t start,end; double t;
start=clock();……; end= clock();t=difftime(end,start);(輸出用%fms)
二、參考教材、實驗指導書
參考教材1:《程式設計方法與案例分析》 作者:林志英等編出版社:人民郵電出版社
參考教材2:《演算法與資料結構實驗與習題》 作者:孟佳娜等編出版社:機械工業出版社
參考教材3:《資料結構習題解答與考試指導》 作者:梁作娟等編出版社:清華大學出版社
三、實驗及報告要求
(一).實驗要求
1.實驗前,每位同學要按照實驗內容要求認真做好預習,編制好實驗所需程式及相關資料。
2.每次做實驗前,教師檢查每位學生的預習情況。
3.按時到達實驗地點,嚴格遵守實驗室的有關規定。實驗結束後,要注意關閉自己所用的計算機。
4.實驗後要上交實驗報告。實驗報告要使用標準紙張(大小同a4紙)書寫。
(二).實驗報告應包括以下內容:
1.實驗目的
2.實驗內容
3.演算法設計方案
(1)資料結構
(2)演算法設計:
對於每個函式,要求如下:
1)函式名 2)入口引數 3)出口引數 4)設計思路 5)演算法流程圖 6)源程式清單(程式應新增必要的注釋)
4.除錯過程
(1)編譯出現的主要問題及解決方法
(2)執行出現的主要問題及解決方法
5.執行結果分析
(1)執行結果
(2)執行結果分析(以逆置為例)
(三).實驗報告封面
北京聯合大學
實驗報告
課程(專案)名稱: 計算機軟體技術基礎實驗一(順序表)
學院: 自動化專業
班級: 0810031101 成績
學號: 0810姓名
2023年10月10日
計算機軟體基礎實驗一
實驗專案 選擇與迴圈結構 實驗時間09.3.12實驗地點j020553 4j020553 2指導老師 實驗課時2課程名稱計算機軟 件基礎實驗成績 實驗目的 s熟悉和掌握選擇與迴圈結構的c語言程式,利用單步除錯分析if switch for while及do while的應用。實驗環境 1 安裝有tc...
計算機軟體
一 填空與選擇 1 c語言從源程式的書寫到上機執行輸出結果要經過四個步驟。2 c語言的表示式與語句的區別在於 3 c語句有 沒有 輸入 輸出語句。4 結構化程式的編寫有三種程式結構。5 表示式10 3 9 2的值是 6 設有 intx 2,y 說明,則逗號表示式 y x 5,x y 的值是 7 設有...
計算機軟體基礎 一 複習
一 基本概念題 1 演算法的描述方法很多,常用的有 自然語言 類語言 流程圖 n s結構圖等。2 常用流程圖符號 起止框處理框輸入輸出框 判斷框流程指示線 3 程式設計的關鍵在於設計出乙個好的演算法 4 程式中 表示注釋,其位置可以放在程式的任何地方 5 演算法和程式的主要區別是什麼?答 1 演算法...