DATA STRUCTURES AND ALGORITHMS