第1章 緒論
1.1 從問題到程序
1.2 有關概念和術語
1.3 算法及算法分析
1.3.1 算法特性
1.3.2 算法描述
1.3.3 算法分析
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 循環(huán)鏈表
2.3.4 雙向鏈表
2.3.5 單鏈表的其他操作舉例
2.4 典型例題
本章小結
習題
第3章 棧和隊列
3.1 棧
3.1.1 棧的定義及其基本運算
3.1.2 棧的存儲結構和基本運算的實現
3.1.3 棧的應用舉例
3.1.4 棧與遞歸的實現
3.2 隊列
3.2.1 隊列的定義及其基本運算
3.2.2 隊列的存儲結構和基本運算的實現
3.2.3 隊列應用舉例
3.3 典型例題
本章小結
習題
第4章 串和數組
4.1 串
4.1.1 串的基本概念
4.1.2 串的基本運算
4.1.3 串的存儲結構及其基本運算的實現
4.1.4 串的其他運算舉例
4.2 數組
4.2.1 數組的邏輯結構和基本操作
4.2.2 數組的存儲結構
4.2.3 稀疏矩陣
4.2.4 矩陣的其他運算舉例
4.3 典型例題
本章小結
習題
第5章 樹與二叉樹
5.1 樹的概念與基本操作
5.1.1 樹的定義及相關術語
5.1.2 樹的基本操作
5.2 二叉樹
5.2.1 二叉樹的基本概念
5.2.2 二叉樹的主要性質
5.2.3 二叉樹的存儲結構與基本操作
5.2.4 二叉樹的遍歷
5.2.5 二叉樹的其他操作舉例
5.3 樹與森林
5.3.1 樹的存儲
5.3.2 樹、森林與二叉樹的相互轉換
5.3.3 樹和森林的遍歷
5.4 最優(yōu)二叉樹--哈夫曼樹
5.4.1 哈夫曼樹的基本概念
5.4.2 哈夫曼樹的構造算法
5.4.3 哈夫曼編碼
5.4.4 哈夫曼編碼的算法實現
5.5 典型例題
本章小結
習題
第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.5 典型例題
本章小結
習題
第7章 查找
7.1 基本概念與術語
7.2 靜態(tài)查找表
7.2.1 靜態(tài)查找表結構
7.2.2 順序查找
7.2.3 有序表的折半查找
7.2.4 分塊查找
7.3 動態(tài)查找表
7.4 哈希表
7.4.1 哈希表與哈希方法
7.4.2 常用的哈希函數構造方法
7.4.3 處理沖突的方法
7.4.4 哈希表的查找算法
7.4.5 哈希表的性能分析
7.5 典型例題
本章小結
習題
第8章 排序
8.1 基本概念
8.2 三種簡單的排序方法
8.2.1 直接插入排序
8.2.2 冒泡排序
8.2.3 簡單選擇排序
8.3 希爾排序
8.4 快速排序
8.5 堆排序
8.6 歸并排序
8.7 各種排序方法的比較與討論
8.8 典型例題
本章小結
習題
第9章 實驗
實驗1 順序表的基本操作
實驗2 鏈表的基本操作
實驗3 棧的基本操作
實驗4 隊列的基本操作
實驗5 字符串的基本操作
實驗6 二叉樹的基本操作
實驗7 樹的遍歷和哈夫曼樹
實驗8 圖的基本操作
實驗9 排序
實驗10 查找
參考文獻