Data Structures and Algorithm Analysis in C++ (2nd Edition)