Data Structures and Algorithm Analysis in C++