第1章 緒論
1.1 數據結構的研究內容
1.2 基本概念和術語
1.2.1 數據、數據元素、數據項和數據對象
1.2.2 數據結構
1.2.3 數據類型和抽象數據類型
1.3 抽象數據類型的表示與實現
1.4 算法和算法分析
1.4.1 算法的定義及特性
1.4.2 評價算法優(yōu)劣的基本標準
1.4.3 算法的時間復雜度
1.4.4 算法的空間復雜度
1.5 小結
習題
第2章 線性表
2.1 線性表的類型定義
2.1.1 線性表的定義和特點
2.1.2 線性表的抽象數據類型定義
2.2 線性表的順序表示和實現
2.2.1 線性表的順序存儲表示
2.2.2 順序表中基本操作的實現
2.3 線性表的鏈式表示和實現
2.3.1 單鏈表的定義和表示
2.3.2 單鏈表基本操作的實現
2.3.3 循環(huán)鏈表
2.3.4 雙向鏈表
2.4 線性表的應用
2.4.1 一般線性表的合并
2.4.2 有序表的合并
2.4.3 一元多項式的表示及相加
2.5 小結
習題
第3章 棧和隊列
3.1 棧
3.1.1 棧的類型定義
3.1.2 順序棧的表示和實現
3.1.3 鏈棧的表示和實現
3.2 棧的應用
3.2.1 數制轉換
3.2.2 括號匹配的檢驗
3.2.3 表達式求值
3.3 棧與遞歸
3.3.1 采用遞歸算法解決的問題
3.3.2 遞歸過程與遞歸工作棧
3.3.3 遞歸算法的效率分析
3.3.4 將遞歸轉換為非遞歸的方法
3.4 隊列
3.4.1 隊列的類型定義
3.4.2 循環(huán)隊列——隊列的順序表示和實現
3.4.3 鏈隊——隊列的鏈式表示和實現
3.5 隊列的應用
3.6 小結
習題
第4章 串、數組和廣義表
4.1 串
4.1.1 串的類型定義
4.1.2 串的存儲結構
4.1.3 串的模式匹配算法
4.2 數組
4.2.1 數組的類型定義
4.2.2 數組的順序存儲
4.2.3 特殊矩陣的壓縮存儲
4.3 廣義表
4.3.1 廣義表的定義
4.3.2 廣義表的存儲結構
4.4 小結
習題
第5章 樹和二叉樹
5.1 樹的定義和基本術語
5.1.1 樹的定義
5.1.2 樹的基本術語
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.4.3 樹和森林的遍歷
5.5 赫夫曼樹及其應用
5.5.1 赫夫曼樹的基本概念
5.5.2 赫夫曼樹的構造算法
5.5.3 赫夫曼編碼
5.6 小結
習題
第6章 圖
6.1 圖的定義和基本術語
6.1.1 圖的定義
6.1.2 圖的基本術語
6.2 圖的存儲結構
6.2.1 鄰接矩陣
6.2.2 鄰接表
6.3 圖的遍歷
6.3.1 深度優(yōu)先搜索
6.3.2 廣度優(yōu)先搜索
6.4 圖的應用
6.4.1 最小生成樹
6.4.2 最短路徑
6.4.3 拓撲排序
6.4.4 關鍵路徑
6.5 小結
習題
第7章 查找
7.1 查找的基本概念
7.2 線性表的查找
7.2.1 順序查找
7.2.2 折半查找
7.3 樹表的查找
7.3.1 二叉排序樹
7.3.2 平衡二叉樹
7.3.3 B-樹
7.3.4 B+樹
7.4 散列表的查找
7.4.1 散列表的基本概念
7.4.2 散列函數的構造方法
7.4.3 處理沖突的方法
7.4.4 散列表的查找
7.5 小結
習題
第8章 排序
8.1 基本概念和排序方法概述
8.1.1 排序的基本概念
8.1.2 排序方法的分類
8.1.3 待排序記錄的存儲方式
8.1.4 排序算法效率的評價指標
8.2 插入排序
8.2.1 直接插入排序
8.2.2 折半插入排序
8.2.3 希爾排序
8.3 交換排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 選擇排序
8.4.1 簡單選擇排序
8.4.2 堆排序
8.5 歸并排序
8.6 基數排序
8.6.1 多關鍵字的排序
8.6.2 鏈式基數排序
8.7 小結
習題