Data structure and algorithms in C++ - Adam Drozdek (Brooks/Cole, 2000)