Data structures and algorithms with object-oriented design patterns in C++ - Priess Bruno R Ed. (1999)