Data Structures and Algorithms implemented in Java