第一部分 理論基礎.
緒言——致成長中的程序員們
一. 為什么要使用C++?
二. 為什么要使用STL?
三. 編程的一些規(guī)范
四. 應當使用什么開發(fā)環(huán)境?
第1章 數(shù)據(jù)結構導論
1. 1 數(shù)據(jù)結構與算法
1. 1. 1 數(shù)據(jù)結構
1. 1. 2 算法
1. 2 數(shù)據(jù)結構的抽象形式——抽象數(shù)據(jù)類型
1. 2. 1 抽象數(shù)據(jù)類型
1. 2. 2 應用程序編程接口(API)
1. 2. 3 維護程序和文檔
1. 3 C++類和抽象數(shù)據(jù)類型
1. 3. 1 C++類
1. 3. 2 繼承性
1. 3. 3 多態(tài)性
1. 3. 4 泛型設計和模板
1. 4 運算與算法
1. 4. 1 運算
1. 4. 2 算法
1. 5 算法分析
1. 5. 1 時空性能
1. 5. 2 時間復雜度分析
1. 5. 3 空間復雜度分析
1. 5. 4 算法分析與代碼優(yōu)化調整
第2章 C++語言概述
2. 1 C++語言的演化和標準化歷程
2. 2 C++支持的程序設計風格
2. 2. 1 基于過程的程序設計
2. 2. 2 基于對象的程序設計
2. 2. 3 面向對象的程序設計
2. 2. 4 泛型程序設計
2. 3 模塊化程序設計
2. 3. 1 函數(shù)
2. 3. 2 類和封裝機制
2. 4 類的構造. 析構和賦值
2. 4. 1 構造函數(shù)和析構函數(shù)
2. 4. 2 類的賦值
2. 5 類層次結構——繼承和多態(tài)
2. 5. 1 訪問控制:public.cprivate和protected繼承
2. 5. 2 虛函數(shù)與多態(tài)
2. 6 異常處理
2. 6. 1 異常處理的應用情況
2. 6. 2 異常處理基礎知識
2. 6. 3 其他錯誤處理技術
2. 7 推薦的編程習. 慣和風格
第3章 C++模板編程入門
3. 1 類模板
3. 1. 1 如何定義類模板
3. 1. 2 如何實現(xiàn)類模板的成員函數(shù)
3. 1. 3 如何使用類模板
3. 2 函數(shù)模板
3. 2. 1 如何定義函數(shù)模板
3. 2. 2 如何使用函數(shù)模板
3. 3 模板實例化
3. 4 模板的特化
3. 4. 1 類模板的特化
3. 4. 2 函數(shù)模板的特化
3. 5 模板參數(shù)
3. 6 靜態(tài)成員和變量
3. 7 模板和friend
3. 8 函數(shù)對象(仿函數(shù))
3. 8. 1 如何定義函數(shù)對象
3. 8. 2 函數(shù)對象的使用
3. 8. 3模板函數(shù)對象
3. 8. 4 標準庫中的函數(shù)對象
第4章 泛型設計. STL庫與數(shù)據(jù)結構
4. 1 標準C++與STL
4. 1. 1 模板——現(xiàn)代C++風格的基礎
4. 1. 2 STL的發(fā)展歷程
4. 1. 3 STL與C++標準程序庫
4. 1. 4 STL的實現(xiàn)版本
4. 1. 5 準標準程序庫:Boost庫
4. 1. 6 泛型算法與STL的應用展示
4. 2 泛型程序設計與多態(tài)
4. 2. 1 面向對象程序設計中的多態(tài)
4. 2. 2 泛型程序設計中的多態(tài)
4. 2. 3 GP與OOP的對比
4. 3 泛型程序設計與STL
4. 3. 1 STL庫的設計:容器. 算法與迭代器
4. 3. 2 A umulate函數(shù)示例
4. 4 概念與模型
4. 4. 1 必要條件集合
4. 4. 2 示例:迭代器
4. 5 關聯(lián)類型與特性類
4. 5. 1 函數(shù)模板中需要的關聯(lián)類型
4. 5. 2 類中的typedef嵌套
4. 5. 3 特性類的定義
4. 5. 4 部分特化
4. 5. 5 標簽分派,92
4. 6 STL中的核心concept:迭代器剖析
4. 6. 1 迭代器概述
4. 6. 2 迭代器與索引的比較
4. 6. 3 STL的迭代器分類
4. 6. 4 STL中迭代器種類的選擇
4. 7 STL的其他組件
4. 7. 1 STL的數(shù)據(jù)結構:容器
4. 7. 2 STL算法
4. 7. 3 函數(shù)對象
4. 7. 4 適配器
4. 7. 5 分配器
第二部分 基礎數(shù)據(jù)結構
第5章 線性表
5. 1 線性表概述
5. 1. 1 線性表基礎知識
5. 1. 2 線性表類ADT
5. 2 順序存儲結構——順序表
5. 2. 1 順序表的定義及特點
5. 2. 2 順序表的遍歷與查找
5. 2. 3 順序表的其他操作
5. 2. 4 順序表類ADT以及類定義
5. 3 鏈式存儲結構——鏈表
5. 3. 1 單鏈表
5. 3. 2 雙向鏈表
5. 3. 3 循環(huán)鏈表
5. 3. 4 鏈表類ADT以及類定義
5. 4 vector的基本操作及應用
5. 4. 1 vector迭代器
5. 4. 2 vector的基本操作
5. 5 list的基本操作及應用
5. 5. 1 list迭代器
5. 5. 2 list的基本操作
5. 6 slist的基本操作及應用
5. 6. 1 slist的迭代器
5. 6. 2 slist的基本操作
5. 7 線性表的應用案例
5. 7. 1 稀疏多項式的加法和乘法
5. 7. 2 大整數(shù)加法..
第6章 棧與隊列
6. 1 雙端隊列
6. 1. 1 deque概況
6. 1. 2 操作與應用
6. 2 堆?;A
6. 2. 1 堆棧的定義
6. 2. 2 堆棧ADT
6. 3 棧的使用
6. 3. 1 進制轉換
6. 3. 2 列車調度
6. 4 表達式計算
6. 4. 1 中綴表達式轉換為后綴表達式
6. 4. 2 后綴表達式的計算
6. 4. 3 測試
6. 5 隊列和優(yōu)先隊列
6. 5. 1 隊列的定義
6. 5. 2 隊列ADT
6. 5. 3 隊列的實現(xiàn)
6. 5. 4 優(yōu)先隊列
6. 6 使用隊列
6. 6. 1 時間驅動的模擬
6. 6. 2 基數(shù)排序法
6. 7 棧與隊列的綜合實例
6. 7. 1 農夫過河問題
6. 7. 2 深度優(yōu)先搜索算法
6. 7. 3 廣度優(yōu)先搜索算法
第7章 遞歸
7. 1 遞歸基礎
7. 1. 1 遞歸的概念
7. 1. 2 使用遞歸的情況
7. 2 漢諾塔問題
7. 2. 1 問題的提出
7. 2. 2 問題的遞歸求解
7. 2. 3 Hanoi類
7. 3 迷宮問題
7. 3. 1 問題的提出
7. 3. 2 迷宮的回溯分析
7. 3. 3 Maze類
7. 4 八皇后問題
7. 4. 1 問題的描述
7. 4. 2 八皇后問題的回溯分析
7. 4. 3 QueenChess類的設計
7. 5 遞歸算法的評價
7. 5. 1 遞歸工作棧
7. 5. 2 遞歸算法的復雜度
7. 5. 3 遞歸與迭代的比較
第8章 樹和二叉樹
8. 1 樹和二叉樹基礎知識
8. 1. 1 序列容器與有序關聯(lián)容器
8. 1. 2 廣義樹結構
8. 1. 3 二叉樹的定義與性質
8. 1. 4 二叉樹遍歷算法
8. 1. 5 二叉樹遍歷算法的應用
8. 2 二叉搜索樹基礎知識
8. 2. 1 二叉搜索樹的定義
8. 2. 2 二叉搜索樹的操作
8. 2. 3 二叉搜索樹類ADT
8. 2. 4 二叉搜索樹的結構
8. 2. 5 二叉搜索樹的實現(xiàn)要點
8. 2. 6 二叉搜索樹的迭代器
8. 3 二叉樹類算法的實現(xiàn)代碼分析
8. 3. 1 二叉樹類的聲明與接口
8. 3. 2 二叉樹的遍歷操作實現(xiàn)
8. 3. 3 樹遍歷算法的應用
8. 3. 4 二叉樹相關算法的測試程序
8. 4 二叉搜索樹類的實現(xiàn)代碼分析
8. 4. 1 二叉搜索樹節(jié)點和樹類的聲明
8. 4. 2 構造函數(shù). 析構函數(shù)和賦值運算符
8. 4. 3 二叉搜索樹的查找與更新操作
8. 4. 4 二叉搜索樹的測試程序
8. 5 二叉搜索樹應用案例
8. 5. 1 消除重復項
8. 5. 2 音像商店事務管理系統(tǒng)
第9章 圖
9. 1 圖的抽象
9. 1. 1 圖的描述
9. 1. 2 圖的數(shù)據(jù)結構
9. 2 圖的算法
9. 2. 1 圖搜索算法
9. 2. 2 拓撲排序
9. 2. 3 連通分量算法
9. 2. 4 最短路徑問題
9. 2. 5 最小生成樹問題
9. 3 Boost圖庫介紹
9. 3. 1 STL中的泛型
9. 3. 2 BGL中的泛型
9. 3. 3 BGL中的圖算法
9. 3. 4 BGL實現(xiàn)的數(shù)據(jù)結構
9. 3. 5 BGL的歷史
9. 4 圖類的實現(xiàn)與應用
9. 4. 1 圖的概念(Concepts)
9. 4. 2 圖類的實現(xiàn)
9. 4. 3 圖類應用示例
9. 5 圖算法的實現(xiàn)和應用
9. 5. 1 訪問器
9. 5. 2 圖遍歷算法的應用
9. 5. 3 拓撲排序的應用
9. 5. 4 最短路徑算法的應用
9. 5. 5 最小生成樹算法的應用
9. 6 圖的建模與可視化——Graphviz軟件與DOT語言
9. 6. 1 核心繪圖引擎
9. 6. 2 圖文件描述語言——DOT語言
9. 6. 3 Graphviz應用示例
第三部分 綜合應用
第10章 綜合應用案例
10. 1 數(shù)據(jù)壓縮——霍夫曼編碼解碼器的實現(xiàn)
10. 1. 1 數(shù)據(jù)壓縮理論簡介
10. 1. 2 Huffman樹
10. 1. 3 需求分析
10. 1. 4 Huffman壓縮類的接口與應用
10. 1. 5 Huffman壓縮類的實現(xiàn)
10. 1. 6 Huffman解壓縮
10. 2 算法時間復雜度測度——算法計時器的實現(xiàn)
10. 2. 1 精確測定算法時間的困難
10. 2. 2 應用統(tǒng)計方法解決困難
10. 2. 3 完成自動分析的Timer類
10. 2. 4 應用Timer類測試STL sort算法時間性能
10. 3 理論計算機科學家族譜的文檔/視圖模式——STL組件的綜合應用
10. 3. 1 系統(tǒng)設計:“模型—視圖—控制器”模式
10. 3. 2 數(shù)據(jù)關系建模與數(shù)據(jù)結構選擇
10. 3. 3 從源數(shù)據(jù)文檔到視圖
10. 3. 4 完整的族譜視圖程序以及運行示例
10. 4 詞典檢索系統(tǒng)——數(shù)據(jù)結構選擇對系統(tǒng)性能影響的示例
10. 4. 1 解決方案1:應用全排列的方法查找變位詞
10. 4. 2 解決方案2:應用pair向量改進時間效率
10. 4. 3 解決方案3:使用映射改進空間效率
附錄A Boost安裝指南
附錄B 隨書所附光盤內容清單
附錄C STL庫容器類速查手冊...