Implementaion of important data structures and algorithms in Java