Data Structures and Algorithm Analysis in C++ (3rd Edition)