第1章 C++面向對象程序設計要點
1.1 函數和函數參數
1.1.1 函數類型
1.1.2 函數名重載
1.1.3 函數參數
1.1.4 成員函數返回值
1.2 輸入輸出
1.2.1 鍵盤屏幕輸入輸出
1.2.2 文件輸入輸出
1.3 類
1.3.1 類的存取權限
1.3.2 構造函數和析構函數
1.3.3 操作符重載
1.3.4 友元
1.3.5 分辨符
1.3.6 內聯函數
1.3.7 默認值
1.3.8 多態(tài)性和虛函數
1.3.9 純虛函數和抽象類
1.3.10 派生類繼承方式
1.3.11 結構體
1.3.12 對象
1.4 抽象類型和模板
1.4.1 抽象類型
1.4.2 模板
習題一
第2章 面向對象程序設計和算法性能分析
2.1 抽象數據類型
2.1.1 數據結構
2.1.2 數據類型
2.1.3 抽象數據類型
2.1.4 抽象數據類型的描述方法
2.1.5 抽象數據類型的特點
2.2 面向對象程序設計和類
2.3 對象
2.4 算法、算法設計目標和算法性能分析
2.4.1 算法
2.4.2 算法設計目標
2.4.3 算法的時間效率
2.4.4 算法的符號命名、書寫格式和注釋格式
習題二
第3章 順序存儲結構的表、堆棧和隊列
3.1 順序存儲結構
3.2 表和順序表
3.2.1 順序表的類定義
3.2.2 順序表的類實現
3.2.3 順序表上插入、刪除算法的效率分析
3.2.4 順序表的應用
3.3 堆棧和順序堆棧
3.3.1 順序堆棧類定義和實現
3.3.2 順序堆棧應用——表達式計算
3.4 隊列和順序隊列
3.4.1 順序循環(huán)隊列
3.4.2 順序循環(huán)隊列類的定義和實現
3.4.3 順序循環(huán)隊列的應用
3.5 優(yōu)先級隊列和順序優(yōu)先級隊列
3.5.1 順序優(yōu)先級隊列類定義和類實現
3.5.2 順序優(yōu)先級隊列應用
3.6 順序存儲結構的特點
習題三
第4章 鏈式存儲結構的表、堆棧和隊列
4.1 鏈式存儲結構
4.2 單鏈表
4.2.1 結點類的定義和實現
4.2.2 單鏈表類的定義和實現
4.2.3 單鏈表類的應用
4.3 單循環(huán)鏈表
4.3.1 單循環(huán)鏈表類的定義和實現
4.3.2 單循環(huán)鏈表類的應用
4.4 雙向循環(huán)鏈表
4.4.1 雙向循環(huán)鏈表概念
4.4.2 雙向循環(huán)鏈表類定義和實現
4.5 鏈式堆棧
4.5.1 鏈式堆棧類的定義和實現
4.5.2 鏈式堆棧類的應用
4.6 鏈式隊列
4.7 鏈式存儲結構的特點
4.8 應用問題的面向對象程序設計方法
習題四
第5章 數組和串
5.1 數組
5.1.1 C++的數組
5.1.2 安全數組類的定義和實現
5.2 間接地址
5.3 特殊矩陣的壓縮存儲
5.3.1 矩陣的定義和操作
5.3.2 對稱矩陣的壓縮存儲
5.3.3 上三角矩陣壓縮存儲類
5.4 稀疏矩陣的壓縮存儲
5.4.1 稀疏矩陣的三元組表
5.4.2 稀疏矩陣的三元組順序表存儲類
5.4.3 稀疏矩陣的三元組鏈表
5.5 串
5.5.1 串的定義、存儲結構和操作
5.5.2 C++的串
5.5.3 方便用戶使用的串類的定義和實現
5.5.4 模式匹配的Brute-Force算法
5.5.5 模式匹配的KMP算法
習題五
第6章 遞歸
6.1 遞歸的概念
6.2 遞歸算法的設計
6.3 遞歸過程和遞歸工作棧
6.4 遞歸算法的效率分析
6.5 轉化遞歸算法為非遞歸算法
6.5.1 尾遞歸和單向遞歸的消除
6.5.2 模擬系統(tǒng)的運行時棧消除遞歸
6.6 回溯法
習題六
第7章 樹和二叉樹
7.1 仿真指針
7.2 樹
7.2.1 樹的定義
7.2.2 樹的表示方法
7.2.3 樹的基本操作
7.2.4 樹的存儲結構
7.2.5 樹類
7.3 二叉樹
7.3.1 二叉樹的定義
7.3.2 二叉樹的性質
7.3.3 二叉樹的操作
7.3.4 二叉樹的存儲結構
7.3.5 樹和二又樹的轉換
7.4 鏈式存儲結構的二叉樹設計
7.4.1 二叉樹結點類
7.4.2 二叉樹的遍歷
7.4.3 二叉樹遍歷的應用
7.4.4 應用示例
7.4.5 二叉樹類
7.5 二叉樹歷游標類
7.5.1 二叉樹中序遍歷游標類
7.5.2 二叉樹前序遍歷游標類
7.5.3 二叉樹層序遍歷游標類
7.6 線索二叉樹
7.6.1 線索二叉樹的存儲結構
7.6.2 線索二叉樹類
7.6.3 中序線索二叉樹類
7.7 堆
7.7.1 堆的定義
7.7.2 最小堆類
7.7.3 最小堆類的測試
7.8 哈夫曼樹
7.8.1 路徑長度和哈夫曼樹
7.8.2 哈夫曼編碼
7.8.3 哈夫曼編碼問題數據結構設計
7.8.4 哈夫曼編碼問題算法設計
習題七
第8章 圖
8.1 圖的基本概念和基本操作
8.1.1 圖的基本概念
8.1.2 圖的基本操作
8.2 圖的鄰接矩陣存儲結構
8.2.1 鄰接矩陣
8.2.2 鄰接矩陣表示的圖類
8.2.3 鄰接矩陣圖類的深度優(yōu)先搜索遍歷
8.2.4 鄰接矩陣圖類的廣度優(yōu)先搜索遍歷
8.2.5 非連通圖和連通分量
8.2.6 鄰接矩陣圖類的測試
8.3 圖的鄰接表存儲結構
8.3.1 圖的鄰接表存儲結構
8.3.2 鄰接表存儲結構的圖類
8.3.3 鄰接表存儲結構圖類的測試
8.4 圖的其他存儲結構
8.4.1 逆鄰接表
8.4.2 十字鏈表
8.4.3 鄰接多重表
8.5 最小生成樹
8.5.1 最小生成樹的基本概念
8.5.2 普里姆算法
8.5.3 克魯斯卡爾算法
8.6 最短路徑
8.6.1 最短路徑的基本概念
8.6.2 從一個頂點到其余各頂點的最短路徑
8.6.3 所有頂點之間的最短路徑
習題八
第9章 排序
9.1 排序的基本概念
9.2 插入排序
9.2.1 直接插入排序
9.2.2 鏈表插入排序
9.2.3 希爾排序
9.3 選擇排序
9.3.1 直接選擇排序
9.3.2 堆排序
9.4 交換排序
9.4.1 冒泡排序
9.4.2 快速排序
9.5 歸并排序
9.6 基數排序
習題九
第10章 查找
10.1 查找的基本概念
10.2 順序表查找
10.2.1 無序順序表順序查找
10.2.2 有序順序表查找
10.3 索引表查找
10.3.1 索引表結構
10.3.2 索引結構查找的效率分析
10.3.3 倒排索引表
10.4 樹表查找
10.4.1 二叉排序樹
10.4.2 二叉排序樹類
10.4.3 二叉排序樹的性能分析
10.4.4 平衡二叉樹
10.4.5 B樹
10.5 哈希表查找
10.5.1 哈希表的基本概念
10.5.2 哈希函數構造方法
10.5.3 哈希沖突解決方法
10.5.4 哈希表類
習題十
參考文獻