Reading list
- C++ language features
- distinction between initialization and assignment
- initialization of data members
- overloading the () operator
- virtual member functions
- template classes, template functions
- STL concepts
- containers: vector, deque, list, array
- iterators
- generic algorithms: copy, reverse, lower_bound, upper_bound
sort, stable_sort, find
- function objects vs. pointers to functions (Musser, pp. 173)
- adaptors: stack, queue
- avoidance of code bloat by virtual member functions (Musser, pp. 235).
- Sorting
- Strict total vs. weak orderings, stable sorting (Musser, pp. 95)
- Insertion sort (Sedgewick, pp. 98)
- Indirect sorting (Sedgewick, pp. 104) and purging
- Mergesort (Sedgewick, pp. 163)
- Analysis of algorithms: meaning of O and Theta (Sedgewick, pp. 72)
- Trees
- Binary trees and traversals (Sedgewick, pp. 35)
- Binary search trees (Sedgewick, pp. 203)