DATA STRUCTURES AND ALGORITHMS IN C++