Data structures : a pseudocode approach with C++ - Gilberg, Richard F. (Cengage, 2001)