Data structure & algorithms in C++