Data Structures and Problem Solving Using C++ (2nd Edition)