本書從實踐角度對數(shù)據(jù)結構內(nèi)容進行了完善和補充,是與《數(shù)據(jù)結構教程》(胡元義,黑新宏主編,電子工業(yè)出版社,ISBN 978-7-121-35131-0)配套使用的輔助教材。本書一方面對《數(shù)據(jù)結構教程》中的習題給出了深入淺出的解析,另一方面對《數(shù)據(jù)結構教程》中出現(xiàn)的算法和部分習題算法調(diào)試了近80個上機實現(xiàn)程序并涵蓋了數(shù)據(jù)結構的所有內(nèi)容,這對深入掌握和靈活運用數(shù)據(jù)結構知識,提高解題和編程的思維、方法以及實際動手能力都有很大的幫助。 本書也是一本難得的數(shù)據(jù)結構算法實現(xiàn)與輔助教材,可以配合目前各類數(shù)據(jù)結構(C語言)教材使用,起到銜接教學與實踐的作用。此外,本書也可作為考研資料以及計算機應用人員的實用資料和參考書。
胡元義,男,副教授。1978年—1982年,就讀于陜西工商學院計算機軟件專業(yè);1982年—至今,就職于西安理工大學,歷任工程師、高級工程師。主要從事的研究方向有編譯原理、操作系統(tǒng)及數(shù)據(jù)結構等。先后主持《信息學科計算機人才培養(yǎng)模式研究》(2010年校教學研究項目),以及《三本院校人才培養(yǎng)實踐教學模式研究》(2009年陜西省教育廳教學研究項目)。編寫教材共6部,編寫系列教輔書共11部。
第一篇 習 題 解 析
第1章 緒論習題解析 2
第2章 線性表習題解析 8
第3章 棧和隊列習題解析 16
第4章 串習題解析 26
第5章 數(shù)組與廣義表習題解析 36
第6章 樹與二叉樹習題解析 48
第7章 圖習題解析 69
第8章 查找習題解析 92
第9章 排序習題解析 111
第二篇 算法上機實現(xiàn)
第10章 線性表算法上機實現(xiàn) 132
10.1 順序表基本運算 132
10.2 在表頭插入生成單鏈表 134
10.3 在表尾插入生成單鏈表 135
10.4 單鏈表基本運算 136
10.5 雙向鏈表基本運算 139
10.6 靜態(tài)鏈表 142
10.7 例2.1算法實現(xiàn) 144
10.8 例2.2算法實現(xiàn) 145
10.9 例2.3算法實現(xiàn) 147
10.10 例2.4算法實現(xiàn) 148
10.11 例2.5算法實現(xiàn) 150
第11章 棧和隊列算法上機實現(xiàn) 152
11.1 順序棧基本運算 152
11.2 鏈;具\算 154
11.3 循環(huán)隊列基本運算 157
11.4 鏈隊列基本運算 158
11.5 例3.1算法實現(xiàn) 160
11.6 例3.5算法實現(xiàn) 163
第12章 串算法上機實現(xiàn) 166
12.1 順序串基本運算 166
12.2 生成鏈串與求串長、串連接運算 168
12.3 鏈串中求子串運算 170
12.4 鏈串中串插入運算 171
12.5 串的簡單模式匹配 173
12.6 串的無回溯KMP匹配 174
第13章 數(shù)組與廣義表算法上機實現(xiàn) 177
13.1 矩陣轉置 177
13.2 矩陣的快速轉置 179
13.3 稀疏矩陣的十字鏈表存儲 181
13.4 生成廣義表及求廣義表長度和深度的運算 184
第14章 樹與二叉樹算法上機實現(xiàn) 188
14.1 二叉樹的遍歷 188
14.2 二叉樹的非遞歸遍歷 190
14.3 另一種后序非遞歸遍歷二叉樹的方法 192
14.4 按層次遍歷二叉樹 194
14.5 由二叉樹的遍歷序列恢復二叉樹 196
14.6 二叉樹遍歷的應用 198
14.7 中序線索二叉樹 200
14.8 哈夫曼樹及哈夫曼編碼 203
14.9 例6.4算法實現(xiàn) 207
第15章 圖算法上機實現(xiàn) 210
15.1 建立無向圖的鄰接矩陣 210
15.2 圖的深度優(yōu)先搜索 211
15.3 圖的廣度優(yōu)先搜索 213
15.4 圖的連通性 216
15.5 深度優(yōu)先生成樹 219
15.6 廣度優(yōu)先生成樹 221
15.7 最小生成樹的Prim算法 224
15.8 最小生成樹的Kruskal算法 225
15.9 單源點最短路徑的Dijkstra算法 227
15.10 每一對頂點間最短路徑的Floyd算法 229
15.11 拓撲排序 231
15.12 關鍵路徑 233
第16章 查找算法上機實現(xiàn) 239
16.1 順序查找 239
16.2 折半(二分)查找 240
16.3 分塊查找 241
16.4 二叉排序樹建立、節(jié)點的查找和刪除 242
16.5 平衡二叉樹的建立、節(jié)點的查找和刪除 246
16.6 哈希(Hash)查找 252
第17章 排序算法上機實現(xiàn) 256
17.1 插入排序 256
17.2 折半插入排序 257
17.3 希爾(Shell)排序 258
17.4 冒泡排序 259
17.5 雙向冒泡排序 260
17.6 快速排序 262
17.7 選擇排序 263
17.8 雙向選擇排序 264
17.9 堆排序 265
17.10 歸并排序的遞歸算法實現(xiàn) 267
17.11 歸并排序的非遞歸算法實現(xiàn) 268
17.12 基數(shù)排序 270
參考文獻 273