《數據結構簡明教程(第2版)》是2006年清華大學出版社出版的圖書。
基本介紹
- 書名:數據結構簡明教程(第2版)
- ISBN:9787302106104
- 出版社:19元
- 出版時間:2006年1月11日
- 裝幀:平裝
圖書簡介,目錄,
圖書簡介
本書是為數據結構的初學者編寫的。書中詳細介紹了集合、線性表、棧、佇列、二叉樹、二叉搜尋樹、堆、圖等具體而常用的數據結構,介紹了對這些數據結構建立順序、連結、索引、散列等相應存儲結構的方法和算法,介紹了在數據存儲結構的基礎上對數據進行查找、插入、刪除、修改、排序、遍歷等運算的方法和算法,以及相應的時間和空間複雜度。本書的每章均給出了豐富的練習題,書後附有部分習題的參考解答。
本書的主要讀者對象為在校計算機專業專科(含高職)、非計算機專業本科和專科學習數據結構課程的學生。
目錄
第1章緒論 1
學習目標 1
1.1常用術語 1
1.2算法描述 10
1.3算法評價 12
本章小結 18
習題一 18
第2章集合 23
學習目標 23
2.1集合的定義和運算 23
2.1.1集合的定義 23
2.1.2集合的抽象數據類型 23
2.1.3集合運算舉例 24
2.2集合的順序存儲結構和
操作實現 25
2.3集合的連結存儲結構和
操作實現 33
本章小結 39
習題二 40
第3章線性表 42
學習目標 42
3.1線性表的定義和抽象數據類型 42
3.1.1線性表的定義 42
3.1.2線性表的抽象數據類型 43
3.2線性表的順序存儲結構和
操作實現 44
3.3線性表的連結存儲結構和
操作實現 49
3.4線性表的其他連結存儲結構 51
3.5廣義表 54
3.5.1廣義表的定義 54
3.5.2廣義表的存儲結構 56
3.5.3廣義表的運算 57
本章小結 59
習題三 60
第4章棧和佇列 62
學習目標 62
4.1棧 62
4.1.1棧的定義 62
4.1.2棧的抽象數據類型 63
4.2棧的順序存儲結構和操作實現 63
4.3棧的連結存儲結構和操作實現 67
4.4棧的簡單套用舉例 70
4.5棧與遞歸 74
4.6佇列 82
4.6.1佇列的定義 82
4.6.2佇列的抽象數據類型 82
4.6.3佇列的順序存儲結構和
操作實現 83
4.6.4佇列的連結存儲結構和
操作實現 87
本章小結 90
習題四 91
第5章樹和二叉樹 94
學習目標 94
5.1樹的概念 94
5.1.1樹的定義 94
5.1.2樹的表示 95
5.1.3樹的基本術語 95
5.1.4樹的性質 96
5.2二叉樹 97
5.2.1二叉樹的定義 97
5.2.2二叉樹的性質 98
5.2.3二叉樹的抽象數據類型 100
5.2.4二叉樹的存儲結構 101
5.3二叉樹的遍歷 103
5.4二叉樹的其他運算 107
5.5二叉搜尋樹 112
5.5.1二叉搜尋樹的定義 112
5.5.2二叉搜尋樹的抽象
數據類型 113
5.5.3二叉搜尋樹的運算 113
5.6堆 119
5.6.1堆的定義 119
5.6.2堆的抽象數據類型 119
5.6.3堆的存儲結構 120
5.6.4堆的運算 121
本章小結 125
習題五 126
第6章圖 130
學習目標 130
6.1圖的概念 130
6.1.1圖的定義 130
6.1.2圖的基本術語 131
6.2圖的存儲結構 133
6.2.1鄰接矩陣 133
6.2.2鄰接表 135
6.2.3邊集數組 138
6.3圖的遍歷 139
6.3.1深度優先搜尋遍歷 139
6.3.2廣度優先搜尋遍歷 141
6.3.3非連通圖的遍歷 143
6.4圖的生成樹和最小生成樹 144
6.4.1生成樹的概念 144
6.4.2克魯斯卡爾算法 146
6.5拓撲排序 148
本章小結 153
習題六 154
第7章查找 157
學習目標 157
7.1查找的基本概念 157
7.2順序表查找 158
7.2.1順序查找 159
7.2.2二分查找 160
7.3索引查找 163
7.3.1索引的概念 163
7.3.2索引查找算法 166
7.4散列查找 168
7.4.1散列的概念 168
7.4.2散列函式 169
7.4.3處理衝突的方法 171
7.4.4散列表的運算 175
7.5B樹查找 179
7.5.1B_樹的定義 179
7.5.2B_樹查找 180
7.5.3B_樹的插入 182
7.5.4B_樹的刪除 183
本章小結 186
習題七 187
第8章排序 190
學習目標 190
8.1排序的基本概念 190
8.2插入排序 191
8.3選擇排序 193
8.3.1直接選擇排序 193
8.3.2堆排序 195
8.4交換排序 198
8.4.1氣泡排序 198
8.4.2快速排序 200
8.5歸併排序 203
8.6外排序 206
本章小結 213
習題八 214
附錄部分習題解答 217
參考書目 226
數據結構簡明教程(第2版)
目錄
學習目標 1
1.1常用術語 1
1.2算法描述 10
1.3算法評價 12
本章小結 18
習題一 18
第2章集合 23
學習目標 23
2.1集合的定義和運算 23
2.1.1集合的定義 23
2.1.2集合的抽象數據類型 23
2.1.3集合運算舉例 24
2.2集合的順序存儲結構和
操作實現 25
2.3集合的連結存儲結構和
操作實現 33
本章小結 39
習題二 40
第3章線性表 42
學習目標 42
3.1線性表的定義和抽象數據類型 42
3.1.1線性表的定義 42
3.1.2線性表的抽象數據類型 43
3.2線性表的順序存儲結構和
操作實現 44
3.3線性表的連結存儲結構和
操作實現 49
3.4線性表的其他連結存儲結構 51
3.5廣義表 54
3.5.1廣義表的定義 54
3.5.2廣義表的存儲結構 56
3.5.3廣義表的運算 57
本章小結 59
習題三 60
第4章棧和佇列 62
學習目標 62
4.1棧 62
4.1.1棧的定義 62
4.1.2棧的抽象數據類型 63
4.2棧的順序存儲結構和操作實現 63
4.3棧的連結存儲結構和操作實現 67
4.4棧的簡單套用舉例 70
4.5棧與遞歸 74
4.6佇列 82
4.6.1佇列的定義 82
4.6.2佇列的抽象數據類型 82
4.6.3佇列的順序存儲結構和
操作實現 83
4.6.4佇列的連結存儲結構和
操作實現 87
本章小結 90
習題四 91
第5章樹和二叉樹 94
學習目標 94
5.1樹的概念 94
5.1.1樹的定義 94
5.1.2樹的表示 95
5.1.3樹的基本術語 95
5.1.4樹的性質 96
5.2二叉樹 97
5.2.1二叉樹的定義 97
5.2.2二叉樹的性質 98
5.2.3二叉樹的抽象數據類型 100
5.2.4二叉樹的存儲結構 101
5.3二叉樹的遍歷 103
5.4二叉樹的其他運算 107
5.5二叉搜尋樹 112
5.5.1二叉搜尋樹的定義 112
5.5.2二叉搜尋樹的抽象
數據類型 113
5.5.3二叉搜尋樹的運算 113
5.6堆 119
5.6.1堆的定義 119
5.6.2堆的抽象數據類型 119
5.6.3堆的存儲結構 120
5.6.4堆的運算 121
本章小結 125
習題五 126
第6章圖 130
學習目標 130
6.1圖的概念 130
6.1.1圖的定義 130
6.1.2圖的基本術語 131
6.2圖的存儲結構 133
6.2.1鄰接矩陣 133
6.2.2鄰接表 135
6.2.3邊集數組 138
6.3圖的遍歷 139
6.3.1深度優先搜尋遍歷 139
6.3.2廣度優先搜尋遍歷 141
6.3.3非連通圖的遍歷 143
6.4圖的生成樹和最小生成樹 144
6.4.1生成樹的概念 144
6.4.2克魯斯卡爾算法 146
6.5拓撲排序 148
本章小結 153
習題六 154
第7章查找 157
學習目標 157
7.1查找的基本概念 157
7.2順序表查找 158
7.2.1順序查找 159
7.2.2二分查找 160
7.3索引查找 163
7.3.1索引的概念 163
7.3.2索引查找算法 166
7.4散列查找 168
7.4.1散列的概念 168
7.4.2散列函式 169
7.4.3處理衝突的方法 171
7.4.4散列表的運算 175
7.5B樹查找 179
7.5.1B_樹的定義 179
7.5.2B_樹查找 180
7.5.3B_樹的插入 182
7.5.4B_樹的刪除 183
本章小結 186
習題七 187
第8章排序 190
學習目標 190
8.1排序的基本概念 190
8.2插入排序 191
8.3選擇排序 193
8.3.1直接選擇排序 193
8.3.2堆排序 195
8.4交換排序 198
8.4.1氣泡排序 198
8.4.2快速排序 200
8.5歸併排序 203
8.6外排序 206
本章小結 213
習題八 214
附錄部分習題解答 217
參考書目 226
數據結構簡明教程(第2版)
目錄