Data Structure and Algorithms