Provides a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation New and expanded coverage of recursion Data structures are presented using ADTs and their implementations Develops a wide spectrum of skills ranging from sound algorithm and data structure design to efficient implementation and coding of these designs in Java