第1章 緒論
1.1 基本概念與術語
1.2 算法及算法分析
1.2.1 算法的定義及特性
1.2.2 算法設計的目標
1.2.3 算法的描述方法
1.2.4 算法的性能分析
1.2.5 算法分析舉例
1.3 算法設計技巧
1.3.1 窮舉法
1.3.2 遞歸法
1.3.3 回溯法
1.3.4 分治法
1.3.5 貪心法
1.3.6 動態(tài)規(guī)劃法
1.4 本章小結
第2章 線性表
2.1 線性表的邏輯結構及基本操作
2.1.1 線性表的邏輯結構定義
2.1.2 線性表的基本操作
2.2 順序表
2.2.1 順序表的類型定義
2.2.2 順序表基本操作的實現
2.2.3 順序表的應用
2.3 鏈表
2.3.1 鏈表簡述
2.3.2 單鏈表
2.3.3 雙向鏈表
2.3.4 循環(huán)鏈表
2.3.5 靜態(tài)鏈表
2.3.6 鏈表的應用
2.4 本章小結
第3章 特殊的線性表——棧、隊列和串
3.1 棧
3.1.1 棧的邏輯結構定
3.1.2 棧的基本操作
3.1.3 順序棧
3.1.4 共享存儲空間的順序棧
3.1.5 鏈棧
3.1.6 棧的應用
3.2 棧與遞歸
3.2.1 遞歸與遞歸算法
3.2.2 遞歸的運行機制
3.3 隊列
3.3.1 隊列的邏輯結構定
3.3.2 隊列的基本操作
3.3 1 3 隊列的順序存儲結構——循環(huán)隊列
3.3.4 隊列的鏈式存儲結構——鏈隊列
3.3.5 隊列的應用
3.4 串
3.4.1 串的相關概念與術語
3.4.2 串的基本操作
3.4.3 串的存儲結構
3.4.4 串的模式匹配
3.5 本章小結
第4章 數組和廣義表
4.1 數組
4.1.1 數組的定義
4.1.2 數組的順序表示
4.2 矩陣的壓縮存儲
4.2.1 特殊矩陣的壓縮存儲
4.2.2 稀疏矩陣的壓縮存儲
4.3 廣義表
4.3.1 廣義表的定義
4.3.2 廣義表的存儲結構
4.3.3 廣義表的操作
4.4 本章小結
第5章 樹和二叉樹
5.1 樹
5.1.1 樹的定義
5.1.2 樹的相關術語
5.1.3 樹的基本操作
5.1.4 樹的性質
5.1.5 樹的存儲結構
5.1.6 樹和森林的遍歷
5.2 Z.叉樹
5.2.1 二叉樹的定
5.2.2 二叉樹的操作
5.2.3 二叉樹的性質
5.2.4 二叉樹的存儲結構
5.3 二叉樹的遍歷
5.3.1 二叉樹遍歷的概念
5.3.2 二叉樹遍歷算法
5.3.3 二叉樹的其他操作
5.4 線索二叉樹
5.4.1 線索二叉樹的概念
5.4.2 線索二叉樹的存儲表示及實現
5.5 樹、森林與二叉樹的轉換
5.6 臺夫曼樹與哈夫曼編碼
5.6.1 哈夫曼樹
5.6.2 哈夫曼編碼
5.7 本章小結
第6章 圖
6.1 圖的基礎知識
6.1.1 圖的定義
6.1.2 圖的相關術語
6.1.3 圖的基本操作
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.5 本章小結
第7章 查找
7.1 查找的基本概念與術語
7.2 線性表的查找
7.2.1 順序查找
7.2.2 有序表的查找
7.2.3 分塊查找
7.3 樹表的查找
7.3.1 二又排序樹
7.3.2 平衡二叉樹
7.3.3 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.2 插入排序
8.2.1 直接插入排序
8.2.2 折半插入排序
8.2.3 2一路插入排序
8.2.4 希爾排序
8.3 交換排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 選擇排序
8.4.1 簡單選擇排序
8.4.2 堆排序
8.5 歸并排序
8.6 各種排序方法的比較
8.7 本章小結