Algorithm and Data Structures