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