Data Structures and Algorithms in C++, 2nd Edition