Data Structures and
Algorithm in Java: Goodrich and Tamassia:
John Wiley and Sons. (Text)
Introduction to Algorithms: Cormen, Leiserson, Rivest and Stein:
Prentice Hall of India
Data Structures and Algorithms: Aho, Hopcroft and Ullmann: Addison
Wesley.
Here is a Java tutorial
you can use