Foundations of Algorithms Using C++ Pseudocode