book in a sequence following Java Programming - A Beginner's Course and Advanced Programming in Java. Data structures is concerned with the storage, representation and manipulation of data in a computer. In this book, we discuss some of the more versatile and popular data structures used to solve a variety of useful problems. This book is based on the premise that it is better to learn a few concepts well than many concepts poorly. It restricts itself to what can be covered in a one-semester course, with- out overwhelming the student with complexity and analysis. The approach is practical rather than theoretical. We show how to implement the data structures and operations on them using Java. We also show how to write programs to solve problems using these structures.