This book is designed for the way we learn and intended for one-semester course in Data Structures through Java. This is a very useful guide for graduate and undergraduate students and teachers of Computer Science. This modern object-oriented approach to data structures helps students make the transition from a first course in programming to an integrated under-standing of data structures and their applications. Carefully developing topics with sufficient detail, this text enables students to learn about concepts on their own, offering instructors' flexibility and allowing them to use the text as lecture reinforcement. It includes an exhaustive introduction to algorithms, an integral part of understanding data structures, and uses Java syntax and structure in the design of data structures. Its breadth of coverage insures that data structures and algorithms are carefully and comprehensively discussed.