第1章 緒論
1.1 什么是數(shù)據(jù)結構
1.2 概念、術語
1.3 算法的描述及分析
1.3.1 算法的描述方法
1.3.2 時間復雜度
1.3.3 空間復雜度
1.3.4 算法分析實例
習題1
第2章 線性表
2.1 邏輯結構
2.2 順序存儲結構
2.2.1 存儲結構
2.2.2 順序存儲結構的操作
2.2.3 效率分析
2.3 鏈式存儲結構
2.3.1 概念
2.3.2 鏈式存儲結構的操作
2.4 單向循環(huán)鏈表
2.5 雙向循環(huán)鏈表
2.6 一元多項式的存儲、運算
習題2
第3章 棧和隊列
3.1 堆棧
3.1.1 棧的定義和基本運算
3.1.2 棧的表示和實現(xiàn)
3.1.3 棧的應用
3.2 隊列
3.2.1 隊列的定義和運算
3.2.2 隊列的存儲結構
習題3
第4章 串
4.1 串及其操作
4.1.1 串的邏輯結構
4.1.2 串的基本運算
4.2 串的存儲結構
4.2.1 順序存儲結構
4.2.2 鏈式存儲結構
4.2.3 堆存儲結構
4.3 串的基本運算實現(xiàn)
4.4 串的模式匹配運算
4.4.1 BF算法(Brute-Force)
4.4.2 無回溯的模式匹配算法(KMP算法)
習題4
第5章 數(shù)組和廣義表
5.1 數(shù)組的定義、運算
5.2 數(shù)組的順序存儲結構
5.3 矩陣的壓縮存儲
5.3.1 特殊矩陣
5.3.2 稀疏矩陣
5.4 廣義表
5.4.1 廣義表的定義
5.4.2 廣義表的存儲結構
5.4.3 廣義表的基本操作
習題5
第6章 樹
6.1 樹結構的定義和基本操作
6.1.1 樹的定義
6.1.2 樹的基本術語
6.1.3 樹的基本操作
6.2 二叉樹
6.2.1 定義及其操作
6.2.2 二叉樹的性質
6.2.3 二叉樹的存儲結構
6.3 遍歷二叉樹
6.3.1 二叉樹遍歷的遞歸算法
6.3.2 二叉樹遍歷的非遞歸算法
6.4 樹和森林
6.4.1 樹的存儲結構
6.4.2 樹與二叉樹的轉換
6.4.3 森林與二叉樹的轉換
6.5 樹的應用
6.5.1 二叉排序樹
6.5.2 哈夫曼樹以及應用
習題6
第7章 圖
7.1 圖的定義和術語
7.2 圖的存儲結構
7.2.1 鄰接矩陣
7.2.2 鄰接表
7.3 圖的遍歷
7.3.1 深度優(yōu)先搜索DFS(Depth First Search)
7.3.2 廣度優(yōu)先搜索BFS(Breadth First Search)
7.4 生成樹
7.4.1 概念
7.4.2 最小生成樹(最小支撐樹)
7.5 最短路徑
7.5.1 求某源點到其余各頂點的最短路徑
7.5.2 每對頂點之間的最短路徑
7.6 拓撲排序
7.6.1 頂點活動網(AOV網)
7.6.2 拓撲排序
習題7
第8章 查找
8.1 線性表的查找
8.1.1 順序查找
8.1.2 折半查找
8.1.3 分塊查找
8.2 樹表的查找
8.2.1 二叉查找樹
8.2.2 二叉平衡樹
8.2.3 B_樹
8.3 哈希表
8.3.1 哈希表的定義
8.3.2 哈希函數(shù)的構造
8.3.3 沖突處理方法
8.3.4 查找及分析
習題8
第9章 排序
9.1 插入排序
9.1.1 直接插入排序
9.1.2 希爾排序
9.2 交換排序
9.2.1 冒泡排序(簡單交換排序)
9.2.2 快速排序
9.3 選擇排序
9.3.1 直接選擇排序
9.3.2 樹形選擇排序
9.4 歸并排序
習題9
參考文獻