Foundations of Algorithms Using C++ Pseudocode, Third Edition by Neapolitan & Kumarss Naimipour