Notes on Data Structures and Algorithms in C++