<pre>Author/s : Robert Lafore Publisher : Sams Category :Advanced Java Review by : Thomas Paul Rating : 9 horseshoes </pre> Just about every Computer Science program requires a course called "Data Structures and Algorithms". In order to become a better programmer you must understand the information provided in this course. This book was written as a textbook for a "Data Structures and Algorithms" course and all the expected topics are covered; arrays, queues, stacks, linked lists, trees, hash tables, heaps, sorting, recursion, and searching. Whether you are a teacher looking for a text, a student who wants a better text than the required one, or someone who wants to learn more about programming, this book is an excellent choice. By using Java, all the complications of C++ are eliminated and the author's crystal clear explanations come shining through. And the author's explanations and examples are excellent. For example, the chapter on link lists explains what a linked list is, what problems it is supposed to solve and what problems it fails to solve, and then shows how to implement your own link list. The author provides a set of applets to visually illustrate the topics covered in the book. There are questions at the end of each chapter and answers are provided. This book is not going to explain the Collection classes or help you learn the API. What this book will do is help you get a deeper understanding of what data structures are, how they work, and what performance sacrifices must be made in order to achieve better overall performance in your programs.