《數據結構(第二版)》是2018年大連理工大學出版社出版的教材,作者是鄒嵐。
本教材共分9章:第1章緒論;第2章線性表;第3章棧和佇列;第4章串;第5章數組和廣義表;第6章樹;第7章圖;第8章查找;第9章排序。
基本介紹
- 中文名:數據結構(第二版)
- 作者:鄒嵐
- 出版社:大連理工大學出版社
- 出版時間:2018年7月
- ISBN:9787568515245
教材目錄,教材特點,
教材目錄
第1章 緒 論 / 1
1.1 數據結構的發展 / 1
1.2 數據結構的意義 / 2
1.3 數據結構概述 / 2
1.3.1 基本概念和術語 / 2
1.3.2 數據的邏輯結構 / 3
1.3.3 數據的存儲結構 / 5
1.3.4 抽象數據類型 / 5
1.4 算法及其分析 / 6
1.4.1 算 法 / 6
1.4.2 算法分析 / 7
本章小結 / 9
習 題 / 9
第2章 線性表 / 12
案例導引 / 12
2.1 線性表的邏輯結構 / 13
2.1.1 線性表的定義 / 13
2.1.2 線性表的抽象數據類型定義 / 14
2.2 線性表的順序存儲結構 / 14
2.2.1 順序表的結構 / 14
2.2.2 順序表上實現的基本運算 / 15
2.3 線性表的鏈式存儲結構 / 20
2.3.1 鍊表的結構 / 20
2.3.2 單鍊表上實現的基本運算 / 21
2.3.3 循環鍊表 / 28
2.3.4 雙鍊表 / 28
2.4 順序表與鍊表的比較 / 30
2.5 案例實現——通信錄管理 / 31
2.5.1 案例分析 / 31
2.5.2 案例實現1——用順序表實現通信錄管理 / 31
2.5.3 案例實現2——用鍊表實現通信錄管理 / 36
本章小結 / 43
習 題 / 43
案例題 / 45
第3章 棧和佇列 / 47
案例導引 / 47
3.1 棧 / 48
3.1.1 棧的邏輯結構 / 48
3.1.2 順序棧 / 49
3.1.3 鏈 棧 / 54
3.1.4 順序棧和鏈棧的比較 / 56
3.1.5 棧的套用 / 56
3.2 隊 列 / 65
3.2.1 佇列的邏輯結構 / 65
3.2.2 順序佇列 / 66
3.2.3 鏈佇列 / 69
3.2.4 循環佇列和鏈佇列的比較 / 72
3.2.5 佇列的套用——舞伴問題 / 72
3.3 案例實現 / 78
3.3.1 案例1——漢諾塔問題 / 78
3.3.2 案例2——鍵盤緩衝區 / 81
本章小結 / 83
習 題 / 84
案例題 / 87
第4章 串 / 91
案例導引 / 91
4.1 串的邏輯結構 / 91
4.1.1 串的定義 / 92
4.1.2 串的抽象數據類型 / 92
4.1.3 串的基本操作 / 93
4.2 串的存儲結構 / 95
4.2.1 串的定長順序存儲結構 / 95
4.2.2 串的堆分配存儲結構 / 98
4.2.3 串的鏈式存儲結構 / 100
4.3 串的模式匹配 / 100
4.3.1 樸素的模式匹配算法 / 101
4.3.2 KMP算法** / 103
4.4 案例實現——文本檔案中單詞的檢索和計數 / 103
4.4.1 案例分析 / 103
4.4.2 案例實現 / 103
本章小結 / 111
習 題 / 111
案例題 / 112
第5章 數組和廣義表 / 113
案例導引 / 113
5.1 多維數組 / 114
5.1.1 多維數組的定義 / 114
5.1.2 數組的存儲結構與定址 / 114
5.2 矩陣的壓縮存儲 / 115
5.2.1 特殊矩陣的壓縮存儲 / 116
5.2.2 稀疏矩陣的壓縮存儲 / 117
5.3 廣義表 / 123
5.3.1 廣義表的邏輯結構 / 123
5.3.2 廣義表的存儲結構 / 124
5.4 案例實現——稀疏矩陣的運算 / 127
5.4.1 案例分析 / 127
5.4.2 案例實現 / 127
本章小結 / 133
習 題 / 134
案例題 / 135
第6章 樹 / 137
案例導引 / 137
6.1 樹的概述 / 138
6.1.1 樹的定義和基本術語 / 138
6.1.2 樹的抽象數據類型定義 / 140
6.1.3 樹的存儲結構 / 141
6.2 二叉樹 / 144
6.2.1 二叉樹的定義 / 145
6.2.2 二叉樹的基本性質 / 146
6.2.3 二叉樹的抽象數據類型定義 / 148
6.2.4 二叉樹的存儲結構 / 149
6.2.5 二叉樹遍歷 / 151
6.2.6 二叉樹遍歷的套用 / 156
6.3 樹、森林與二叉樹 / 158
6.3.1 樹與二叉樹的轉換 / 159
6.3.2 森林與二叉樹的轉換 / 160
6.3.3 樹與森林的遍歷 / 161
6.4 線索二叉樹* / 162
6.5 哈夫曼樹及其套用 / 164
6.5.1 哈夫曼樹 / 164
6.5.2 哈夫曼編碼 / 166
6.6 案例實現——團委人事管理系統 / 167
6.6.1 案例分析 / 167
6.6.2 案例實現 / 169
本章小結 / 177
習 題 / 178
案例題 / 181
第7章 圖 / 182
案例導引 / 182
7.1 圖的邏輯結構 / 183
7.1.1 圖的定義和基本術語 / 183
7.1.2 圖的抽象數據類型定義 / 185
7.2 圖的存儲結構 / 186
7.2.1 鄰接矩陣 / 186
7.2.2 鄰接表 / 188
7.2.3 十字鍊表 / 191
7.2.4 鄰接多重表 / 192
7.2.5 邊集數組 / 193
7.2.6 圖的存儲結構的比較 / 194
7.3 圖的遍歷 / 195
7.3.1 深度優先搜尋 / 195
7.3.2 廣度優先搜尋 / 196
7.4 圖的連通性 / 198
7.4.1 無向圖的連通性 / 198
7.4.2 有向圖的連通性 / 198
7.4.3 生成樹和最小生成樹 / 199
7.5 圖的套用 / 201
7.5.1 拓撲排序 / 201
7.5.2 關鍵路徑 / 202
7.5.3 最短路徑 / 204
7.6 案例實現——課程信息管理 / 206
7.6.1 案例分析 / 206
7.6.2 案例實現 / 207
本章小結 / 213
習 題 / 213
案例題 / 216
第8章 查 找 / 218
案例導引 / 218
8.1 查找的基本概念 / 219
8.2 線性表的查找 / 220
8.2.1 順序查找 / 220
8.2.2 二分查找 / 221
8.2.3 分塊查找 / 224
8.3 樹表的查找 / 225
8.3.1 二叉排序樹 / 225
8.3.2 平衡二叉樹* / 232
8.3.3 B-樹** / 233
8.4 哈希表 / 235
8.4.1 哈希表的定義 / 235
8.4.2 哈希函式的構造方法 / 235
8.4.3 處理衝突的方法 / 237
8.4.4 哈希表的查找及分析 / 240
8.5 案例實現——查找綜合練習 / 241
8.5.1 案例分析 / 241
8.5.2 案例實現 / 242
本章小結 / 249
習 題 / 249
案例題 / 254
第9章 排 序 / 255
案例導引 / 255
9.1 排序的基本概念 / 256
9.2 插入排序 / 256
9.2.1 直接插入排序 / 257
9.2.2 二分插入排序 / 259
9.2.3 希爾排序 / 259
9.3 交換排序 / 261
9.3.1 冒泡排序 / 261
9.3.2 快速排序 / 263
9.4 選擇排序 / 266
9.4.1 直接選擇排序 / 266
9.4.2 堆排序 / 267
9.5 歸併排序 / 272
9.6 基數排序 / 274
9.7 排序方法的比較和選擇 / 276
9.7.1 排序方法的比較 / 276
9.7.2 排序方法的選擇 / 278
9.8 案例實現——學生成績管理系統的成績排序 / 278
9.8.1 案例分析 / 278
9.8.2 案例實現 / 279
本章小結 / 283
習 題 / 284
案例題 / 286
參考文獻 / 288
教材特點
1.實用性強。充分考慮了各高職院校計算機及相關專業的教學特點,案例設計具有通用性和實用價值,能夠引起學生的學習興趣,調動學習主動性。
2.深入淺出,內容充實。知識安排由淺入深,運用分析、圖表等多種方式,突破難點,使教師易教,學生易學。
3.對接行業標準,培養職業素養。所有案例均上機調試通過,並嚴格按軟體工程規範編寫,為學生今後的工作培養良好的習慣。
4.教材建設立體化。本教材由紙質教材和豐富的配套教學資源構成。