Data Structures and Algorithms Made Easy in Java