目錄
Chapter 1 Programming: A General Overview/第1章 程序設計:概述
1.1 What's This Book About/本書討論的內容
1.2 Mathematics Review/數學知識複習
1.2.1 Exponents/指數
1.2.2 Logarithms/對數
1.2.3 Series/級數
1.2.4 Modular Arithmetic/模運算
1.2.5 The P Word/證明方法
1.3 A Brief Introduction to Recursion/遞歸簡論
1.4 C++ Classes/C類
1.4.1 Basic class Syntax/基本的class語法
1.4.2 Extra Constructor Syntax and Accessors/構造函數的附加語法和訪問函數
1.4.3 Separation of Interface and Implementation/介面與實現的分離
1.4.4 vector and string/vector類和string類
1.5 C++Details/C細節
1.5.1 Pointers/指針
1.5.2 Lvalues, Rvalues, and References/左值、右值和引用
1.5.3 Parameter Passing/參數傳遞
1.5.4 Return Passing/返回值傳遞
1.5.5 std::swap and std::move/std::swap和std::move
1.5.6 The Big-Five: Destructor, Copy Constructor, Move Constructor, Copy Assignment operator=, Move Assignment operator=/五大函數:析構函數、拷貝構造函數、移動構造函數、拷貝賦值operator=和移動賦值operator=
1.5.7 C-style Arrays and Strings/C風格數組和字元串
1.6 Templates/模板
1.6.1 Function Templates/函數模板
1.6.2 Class Templates/類模板
1.6.3 Object, Comparable, and an Example/Object、Comparable和一個例子
1.6.4 Function Objects/函數對象
1.6.5 Separate Compilation of Class Templates/類模板的分離式編譯
1.7 Using Matrices/使用矩陣
1.7.1 The Data Members, Constructor, and Basic Accessors/數據成員、構造函數和基本訪問函數
1.7.2 operator[]/operator[]
1.7.3 Big-Five/五大函數
Summary/小結
Exercises/練習
References/參考文獻
Chapter 2 Algorithm Analysis/第2章 演算法分析
2.1 Mathematical Background/數學基礎
2.2 Model/模型
2.3 What to Analyze/要分析的問題
2.4 Running-Time Calculations/運行時間計算
2.4.1 A Simple Example/一個簡單的例子
2.4.2 General Rules/一般法則
2.4.3 Solutions for the Maximum Subsequence Sum Problem/最大子序列和問題的求解
2.4.4 Logarithms in the Running Time/運行時間中的對數
2.4.5 Limitations of Worst-Case Analysis/最壞情形分析的局限性
Summary/小結
Exercises/練習
References/參考文獻
Chapter 3 Lists, Stacks, and Queues/第3章 表、棧和隊列
3.1 Abstract Data Types (ADTs)/抽象數據類型
3.2 The List ADT/表的抽象數據類型
3.2.1 Simple Array Implementation of Lists/表的簡單數組實現
……
Chapter 4 Trees/第4章 樹
Chapter 5 Hashing/第5章 哈希
Chapter 6 Priority Queues (Heaps)/第6章 優先隊列(堆)
Chapter 7 Sorting/第7章 排序
Chapter 8 The Disjoint Sets Class/第8章 不相交集演算法
Chapter 9 Graph Algorithms/第9章 圖論演算法
Chapter 10 Algorithm Design Techniques/第10章 演算法設計技巧
Chapter 11 Amortized Analysis/第11章 攤還分析
Chapter 12 Advanced Data Structures and Implementation/第12章 高級數據結構及其實現
Appendix A Separate Compilation of Class Templates/附錄A 類模板的分離式編譯
A.1 Everything in the Header/頭文件中的內容
A.2 Explicit Instantiation/顯示實例化