前言
第1章 緒論 1
1.1 數據結構的基本概念 1
1.2 算法和算法分析 3
1.3 算法描述與C語言數據類型 5
本章小結 14
習題1 14
第2章 線性表 17
2.1 線性表的基本概念 17
2.2 線性表的順序存儲結構及其運算 18
2.3 線性表的鏈式存儲結構及其運算 22
2.4 順序表和鏈表的比較 29
2.5 線性表的應用 30
本章小結 32
習題2 32
本章實驗 34
第3章 棧和隊列 40
3.1 棧 40
3.2 隊列 44
3.3 應用 49
本章小結 57
習題3 57
本章實驗 59
第4章 串、數組和廣義表 61
4.1 串 61
4.2 數組 66
4.3 廣義表 75
本章小結 77
習題4 77
本章實驗 78
第5章 樹和二叉樹 83
5.1 樹 83
5.2 二叉樹 86
5.3 二叉樹的遍歷 93
5.4 線索二叉樹 99
5.5 樹、森林與二叉樹的轉換 103
5.6 哈夫曼樹 104
本章小結 107
習題5 107
本章實驗 109
第6章 圖 119
6.1 圖的基本概念 119
6.2 圖的存儲結構 122
6.3 圖的遍歷 126
6.4 圖的連通性 128
6.5 最短路徑 131
6.6 AOV網與拓撲排序 135
6.7 AOE網與關鍵路徑 136
本章小結 138
習題6 138
本章實驗 141
第7章 查找 151
7.1 基本概念 151
7.2 靜態(tài)查找 152
7.3 動態(tài)查找表 156
7.4 哈希法查找 162
本章小結 165
習題7 165
本章實驗 166
第8章 排序 173
8.1 排序基本概念 173
8.2 插入類排序 174
8.3 交換類排序 178
8.4 選擇類排序 182
8.5 歸并排序 185
8.6 基數排序 186
8.7 各類排序方法的比較 188
8.8 外部排序 188
本章小結 189
習題8 189
本章實驗 190
參考文獻 199