Foundations Of Algorithms Using C++ Pseudocode by Richard E. Neapolitan