圖書簡介
本教程中預備知識,介紹項目中實驗環境、程式組織方式和管理方法,講解程式及算法的效率估算方法和分析技巧,描述一般測試技術和調試方法,以及測試數據與測試用例的設計安排技巧;基礎實驗,首先安排重要的驗證性實驗,然後設計基於基本數據結構的簡單套用實驗;綜合實驗(即課程設計),介紹在一個項目中選擇和使用多種基本數據結構的依據和方法,講解如何有效地將它們融合在一起解決實際的複雜套用問題。
圖書目錄
第1章預備知識 1
1.1軟體開發過程與設計原理 1
1.1.1軟體開發的一般步驟 1
1.1.2軟體設計的基本原理 1
1.2C語言程式的組織與管理 3
1.2.1C語言程式的構成 4
1.2.2較大程式的實現方法和項目管理 4
1.2.3程式的生成與調試 4
1.3程式測試初步 5
1.3.1程式測試的基本概念 6
1.3.2軟體測試的技術分類 6
1.3.3測試環境的構建 8
1.3.4測試用例設計 10
1.4程式效率的事前估算與事後統計 16
1.4.1程式的時間複雜度 17
1.4.2程式運行時間獲取 17
1.5實驗環境 18
1.5.1Linux實驗環境 18
1.5.2Windows實驗環境 24
第2章線性表 33
2.1知識點 33
2.1.1線性表的邏輯結構 33
2.1.2線性表的物理結構 34
2.2基礎實驗 38
2.2.1實驗一:順序表操作實驗 38
2.2.2實驗二:單鍊表操作實驗 42
2.3簡單套用實驗 47
2.3.1適用線性表結構的一般特徵分析 47
2.3.2在C/C++環境下,套用基礎實驗中已實現的線性表結構的幾點提示 47
2.3.3套用實驗一:一元多項式的相加 48
2.3.4套用實驗二:城市鍊表 54
2.4小結 61
第3章棧與佇列 63
3.1知識點 63
3.1.1棧的邏輯結構 63
3.1.2棧的物理結構 64
3.1.3佇列的邏輯結構 65
3.1.4佇列的物理結構 65
3.2基礎實驗 67
3.2.1實驗一:順序棧的操作實驗 67
3.2.2實驗二:順序循環佇列的操作實驗 70
3.3簡單套用實驗 75
3.3.1適用棧和佇列結構的一般特徵分析 75
3.3.2在C/C++環境下,套用基礎實驗中已實現的棧與佇列的
幾點提示 75
3.3.3套用實驗一:迷宮問題 76
3.3.4套用實驗二:病人看病模擬程式 81
3.4小結 84
第4章字元串 85
4.1知識點 85
4.1.1串的邏輯結構 85
4.1.2串的物理結構 86
4.2基礎實驗 87
4.2.1實驗一:串的動態數組存儲表示操作實驗 87
4.2.2實驗二:串的模式匹配實驗 95
4.3簡單套用實驗 101
4.3.1適用串結構的一般特徵分析 101
4.3.2在C/C++環境下,套用基礎實驗中已實現的串結構的幾點提示 101
4.3.3套用實驗:建立詞索引表(說明:具體內容要求滿足課本p86內容) 101
4.4小結 111
第5章數組 113
5.1知識點 113
5.1.1數組的邏輯結構 113
5.1.2數組的物理結構 114
5.1.3矩陣的壓縮存儲 115
5.1.4廣義表的邏輯和存儲結構 119
5.2基礎實驗 120
5.2.1實驗一:稀疏矩陣的三元組順序存儲結構的基本操作 120
5.2.2實驗二:稀疏矩陣的十字鍊表存儲結構的基本操作 127
5.2.3實驗三:廣義表的操作實驗 136
5.3簡單套用實驗 147
5.3.1適用數組結構和廣義表結構的一般特徵分析 147
5.3.2在C/C++環境下,套用基礎實驗中已實現的數組和廣義
表的幾點提示 147
5.3.3套用實驗:廣義表的套用 147
5.4小結 159
第6章二叉樹與樹 161
6.1知識點 161
6.1.1二叉樹和樹的邏輯結構 161
6.1.2二叉樹和樹的物理結構 163
6.2基礎實驗 164
6.2.1實驗一:二叉樹的二叉鍊表存儲表示操作實驗 164
6.2.2實驗二:樹的孩子-兄弟鍊表存儲表示操作實驗 168
6.3簡單套用實驗 172
6.3.1適用二叉樹結構的一般特徵分析 172
6.3.2在C/C++環境下,套用基礎實驗中已實現的二叉樹結構的幾點提示 172
6.3.3套用實驗一:赫夫曼樹和赫夫曼編碼 172
6.3.4套用實驗二:聯賽的構造 177
6.4小結 180
第7章圖 181
7.1知識點 181
7.1.1圖的邏輯結構 181
7.1.2圖的物理結構 182
7.2基礎實驗 185
7.2.1實驗一:圖的鄰接矩陣存儲結構的操作實驗 185
7.2.2實驗二:圖的鄰接表存儲結構的操作實驗 203
7.3簡單套用實驗 220
7.3.1適用圖結構的一般特徵分析 220
7.3.2在C/C++環境下,套用基礎實驗中已實現的圖結構的幾點提示 220
7.3.3套用實驗一:最小生成樹(Prim算法) 221
7.3.4套用實驗二:最短路徑問題 224
7.4小結 231
第8章查找表 233
8.1知識點 233
8.1.1靜態查找表 233
8.1.2動態查找表 234
8.1.3哈希表 237
8.2基礎實驗 238
8.2.1實驗一:折半查找操作實驗 238
8.2.2實驗二:二叉排序樹操作實驗 240
8.3簡單套用實驗 245
8.3.1在C/C++環境下,套用基礎實驗中已實現的查找方法的
幾點提示 245
8.3.2套用實驗:裝箱問題 246
8.4小結 254
第9章排序 255
9.1知識點 255
9.1.1排序的基本概念 255
9.1.2排序算法基本性能比較 255
9.2基礎實驗 256
9.2.1實驗一:插入排序操作實驗 256
9.2.2實驗二:選擇排序操作實驗 260
9.2.3實驗三:交換排序操作實驗 266
9.2.4實驗四:歸併排序與基數排序操作實驗 270
9.3簡單套用實驗 277
9.4小結 286
第10章課程設計 287
10.1課程設計的目的和要求 287
10.2課程設計的實施步驟 287
10.3課程設計總結報告的撰寫規範 288
10.4課程設計案例 289
10.4.1設計一:五泉山公園導遊系統的設計與實現 289
10.4.2設計二:航空票務管理系統的設計與實現 299
附錄實驗報告格式 309
參考文獻 311