Algorithms, data structures and problem solving with C++ - Weiss, Mark Allen (Addison-Wesley, 1996)