出版者的話
序言
前言
教學建議
第1章 緒論
1.1 計算機問題求解過程
1.2 迷宮問題
1.3 數據結構
1.3.1 數據結構研究的內容
1.3.2 數據結構概念
1.4 算法
1.4.1 算法概念及特性
1.4.2 算法描述
1.4.3 算法分析
1.5 本章小結
1.6 習題
第2章 線性表
2.1 線性表
2.1.1 線性表的定義
2.1.2 線性表的順序存儲
2.1.3 線性表的鏈式存儲
2.1.4 鏈表的各種變形
2.1.5 線性表的應用
2.2 線
2.2.1 線的定義
2.2.2 線的順序存儲
2.2.3 線的鏈式存儲
2.2.4 線的應用
2.3 隊列
2.3.1 隊列的定義
2.3.2 隊列的順序存儲
2.3.3 隊列的鏈式存儲
2.3.4 優(yōu)先隊列
2.3.5 隊列的應用
2.4 數組
2.4.1 數組的定義
2.4.2 數組的表示和實現(xiàn)
2.4.3 數組的應用
2.5 本章小結
2.6 習題
第3章 樹
3.1 二叉樹
3.1.1 二叉樹的基本概念和性質
3.1.2 二叉樹的存儲結構
3.1.3 二叉樹的遍歷
3.2 二叉樹的變形
3.2.1 線索二叉樹
3.2.2 二叉排序樹
3.2.3 平衡二叉樹
3.2.4 赫夫曼樹及赫夫曼編碼
3.3 樹和森林
3.3.1 樹和森林的定義
3.3.2 樹和森林的存儲結構
3.3.3 樹和森林的基本操作
3.4 樹的變形
3.4.1 四叉樹
3.4.2 B樹
3.4.3 2-3樹
3.5 樹的應用
3.5.1 算術表達式
3.5.2 堆排序
3.5.3 決策分析
3.6 本章小結
3.7 習題
第4章 圖和廣義表
4.1 圖簡介
4.1.1 基本概念和術語
4.1.2 圖的應用
4.2 圖的存儲結構
4.2.1 圖的順序存儲結構
4.2.2 圖的鏈式存儲結構
4.3 圖的遍歷
4.3.1 深度優(yōu)先遍歷
4.3.2 廣度優(yōu)先遍歷
4.4 圖的應用
4.4.1 最小生成樹
4.4.2 拓撲排序
4.4.3 關鍵路徑
4.4.4 最短路徑
4.5 廣義表
4.5.1 廣義表的定義
4.5.2 廣義表的存儲結構
4.5.3 廣義表的遍歷
4.5.4 廣義表的運算
4.6 本章小結
4.7 習題
第5章 算法設計策略
5.1 算法分析技術
5.2 直接法
5.2.1 窮舉法
5.2.2 遞推法
5.2.3 迭代法
5.3 分治法
5.3.1 分治法的基本思想
5.3.2 斯特拉森矩陣乘法
5.4 貪心法
5.4.1 貪心法的基本思想
5.4.2 背包問題
5.5 動態(tài)規(guī)劃法
5.5.1 動態(tài)規(guī)劃法的基本思想
5.5.2 矩陣連乘問題
5.6 回溯法
5.6.1 回溯法的基本思想
5.6.2 回溯法的形式化描述
5.6.3 八皇后問題
5.7 分支限界法
5.7.1 分支限界法的基本思想
5.7.2 貨郎擔問題
5.8 本章小結
5.9 習題
第6章 查找
6.1 順序表的查找
6.1.1 傾序查找
6.1.2 分查找
6.2 索引表的查找
6.2.1 索引表的基本概念
6.2.2 索引表的順序查找
6.2.3 索引表的二分查找
6.2.4 索引表的樹組織查找
6.3 散列表的查找
6.3.1 基本概念
6.3.2 散列函數
6.3.3 突處理
6.3.4 散列查找與性能分析
6.4 本章小結
6.5 習題
第7章 排序
7.1 排序的基本概念
7.2 插入排序
7.2.1 直接插入排序
7.2.2 分插入排序
7.2.3 希爾排序
7.3 交換排序
7.3.1 冒泡排序
7.3.2 快速排序
7.4 選擇排序
7.4.1 簡單選擇排序
7.4.2 樹形選擇排序
7.5 2路歸并排序
7.6 基數排序
7.6.1 多關鍵字排序
7.6.2 鏈式基數排序
7.7 各排序方法的比較
7.8 本章小結
7.9 題
參考文獻