Data Structures and Algorithms in Java by Michael T. Goodrich
This text incorporates the object-oriented design paradigm throughout using Java as the implementation language, while also providing the fundamental intuition and analysis of each structure studied. The authors seek to present a learning system book. The book is accompanied by a web site which provides students with applications of the Java language as well as Java applets, the complete source code developed for the book and suites of test data used for the programming assignments.