Foundations of algorithms : using C++ pseudocode - Neapolitan, Richard E. (Jones and Bartlett Publishers, 1998)