內容簡介
本書是""數據結構”考研課程的複習指導書,全書嚴格按照最新計算機統考大綱的數據結構部分,對大綱所涉及的知識點進行集中梳理,力求內容精煉、重點突出。本書精選名校歷年考研真題,並給出詳細的解題思路。圖書採用""書本+線上”的學習方式和網上答疑方式,方便讀者互動。
圖書目錄
目 錄
第1章 緒論 1
1.1 數據結構的基本概念 1
1.1.1 基本概念和術語 1
1.1.2 數據結構三要素 2
1.1.3 本節試題精選 3
1.1.4 答案與解析 4
1.2 算法和算法評價 5
1.2.1 算法的基本概念 5
1.2.2 算法效率的度量 6
1.2.3 本節試題精選 7
1.2.4 答案與解析 9
歸納總結 11
思維拓展 12
第2章 線性表 13
2.1 線性表的定義和基本操作 13
2.1.1 線性表的定義 13
2.1.2 線性表的基本操作 14
2.1.3 本節試題精選 14
2.1.4 答案與解析 14
2.2 線性表的順序表示 15
2.2.1 順序表的定義 15
2.2.2 順序表上基本操作的實現 16
2.2.3 本節試題精選 17
2.2.4 答案與解析 21
2.3 線性表的鏈式表示 29
2.3.1 單鍊表的定義 29
2.3.2 單鍊表上基本操作的實現 29
2.3.3 雙鍊表 33
2.3.4 循環鍊表 34
2.3.5 靜態鍊表 35
2.3.6 順序表和鍊表的比較 36
2.3.7 本節試題精選 37
2.3.8 答案與解析 44
歸納總結 63
思維拓展 63
第3章 棧和佇列 64
3.1 棧 64
3.1.1 棧的基本概念 64
3.1.2 棧的順序存儲結構 65
3.1.3 棧的鏈式存儲結構 67
3.1.4 本節試題精選 67
3.1.5 答案與解析 71
3.2 佇列 77
3.2.1 佇列的基本概念 77
3.2.2 佇列的順序存儲結構 78
3.2.3 佇列的鏈式存儲結構 80
3.2.4 雙端佇列 81
3.2.5 本節試題精選 83
3.2.6 答案與解析 86
3.3 棧和佇列的套用 91
3.3.1 棧在括弧匹配中的套用 91
3.3.2 棧在表達式求值中的套用 92
3.3.3 棧在遞歸中的套用 92
3.3.4 佇列在層次遍歷中的套用 93
3.3.5 佇列在計算機系統中的套用 94
3.3.6 本節試題精選 94
3.3.7 答案與解析 97
3.4 特殊矩陣的壓縮存儲 102
3.4.1 數組的定義 102
3.4.2 數組的存儲結構 102
3.4.3 矩陣的壓縮存儲 103
3.4.4 稀疏矩陣 105
3.4.5 本節試題精選 105
3.4.6 答案與解析 106
歸納總結 108
思維拓展 108
第4章 串 109
4.1 串的定義和實現 109
4.1.1 串的定義 109
4.1.2 串的存儲結構 110
4.1.3 串的基本操作 111
4.2 串的模式匹配 111
4.2.1 簡單的模式匹配算法 111
4.2.2 改進的模式匹配算法——KMP算法 112
4.2.3 KMP算法的進一步最佳化 117
4.2.4 本節試題精選 118
4.2.5 答案與解析 119
歸納總結 123
思維拓展 123
第5章 樹與二叉樹 124
5.1 樹的基本概念 124
5.1.1 樹的定義 124
5.1.2 基本術語 125
5.1.3 樹的性質 126
5.1.4 本節試題精選 126
5.1.5 答案與解析 127
5.2 二叉樹的概念 128
5.2.1 二叉樹的定義及其主要特性 128
5.2.2 二叉樹的存儲結構 130
5.2.3 本節試題精選 131
5.2.4 答案與解析 134
5.3 二叉樹的遍歷和線索二叉樹 138
5.3.1 二叉樹的遍歷 138
5.3.2 線索二叉樹 142
5.3.3 本節試題精選 145
5.3.4 答案與解析 152
5.4 樹、森林 170
5.4.1 樹的存儲結構 170
5.4.2 樹、森林與二叉樹的轉換 171
5.4.3 樹和森林的遍歷 172
5.4.4 樹的套用——並查集 173
5.4.5 本節試題精選 174
5.4.6 答案與解析 177
5.5 樹與二叉樹的套用 182
5.5.1 二叉排序樹(BST) 182
5.5.2 平衡二叉樹 186
5.5.3 哈夫曼樹和哈夫曼編碼 189
5.5.4 本節試題精選 191
5.5.5 答案與解析 196
歸納總結 206
思維拓展 207
第6章 圖 208
6.1 圖的基本概念 208
6.1.1 圖的定義 208
6.1.2 本節試題精選 211
6.1.3 答案與解析 214
6.2 圖的存儲及基本操作 216
6.2.1 鄰接矩陣法 216
6.2.2 鄰接表法 217
6.2.3 十字鍊表 218
6.2.4 鄰接多重表 219
6.2.5 圖的基本操作 220
6.2.6 本節試題精選 220
6.2.7 答案與解析 223
6.3 圖的遍歷 226
6.3.1 廣度優先搜尋 226
6.3.2 深度優先搜尋 228
6.3.3 圖的遍歷與圖的連通性 229
6.3.4 本節試題精選 230
6.3.5 答案與解析 233
6.4 圖的套用 238
6.4.1 最小生成樹 238
6.4.2 最短路徑 240
6.4.3 有向無環圖描述表達式 243
6.4.4 拓撲排序 244
6.4.5 關鍵路徑 245
6.4.6 本節試題精選 247
6.4.7 答案與解析 256
歸納總結 268
思維拓展 269
第7章 查找 270
7.1 查找的基本概念 270
7.2 順序查找和折半查找 271
7.2.1 順序查找 271
7.2.2 折半查找 273
7.2.3 分塊查找 274
7.2.4 本節試題精選 275
7.2.5 答案與解析 279
7.3 B樹和B+樹 284
7.3.1 B樹及其基本操作 284
7.3.2 B+樹的基本概念 287
7.3.3 本節試題精選 288
7.3.4 答案與解析 291
7.4 散列表 295
7.4.1 散列表的基本概念 295
7.4.2 散列函式的構造方法 295
7.4.3 處理衝突的方法 296
7.4.4 散列查找及性能分析 297
7.4.5 本節試題精選 298
7.4.6 答案與解析 302
歸納總結 307
思維拓展 307
第8章 排序 308
8.1 排序的基本概念 308
8.1.1 排序的定義 308
8.1.2 本節試題精選 309
8.1.3 答案與解析 310
8.2 插入排序 310
8.2.1 直接插入排序 310
8.2.2 折半插入排序 312
8.2.3 希爾排序 312
8.2.4 本節試題精選 313
8.2.5 答案與解析 316
8.3 交換排序 318
8.3.1 冒泡排序 318
8.3.2 快速排序 319
8.3.3 本節試題精選 321
8.3.4 答案與解析 324
8.4 選擇排序 330
8.4.1 簡單選擇排序 330
8.4.2 堆排序 330
8.4.3 本節試題精選 333
8.4.4 答案與解析 335
8.5 歸併排序和基數排序 339
8.5.1 歸併排序 339
8.5.2 基數排序 340
8.5.3 本節試題精選 342
8.5.4 答案與解析 344
8.6 各種內部排序算法的比較及套用 346
8.6.1 內部排序算法的比較 346
8.6.2 內部排序算法的套用 347
8.6.3 本節試題精選 348
8.6.4 答案與解析 350
8.7 外部排序 353
8.7.1 外部排序的基本概念 353
8.7.2 外部排序的方法 353
8.7.3 多路平衡歸併與敗者樹 354
8.7.4 置換-選擇排序(生成初始歸併段) 355
8.7.5 最佳歸併樹 356
8.7.6 本節試題精選 357
8.7.7 答案與解析 359
歸納總結 361
思維拓展 362
參考文獻 363