In this book, author Michael Main takes a gentle approach to the data structures course in Java. The text offers an early, self-contained review of object-oriented programming and Java to give students a firm grasp of key concepts, and allows students with a variety of backgrounds to adjust easily to the course. This book offers a flexibility that gives professors such options as emphasizing object-oriented programming, covering recursion and sorting early or accelerating the pace of the course. Main's book meets the needs of professors searching for a text that balances object-oriented programming and data structures with Java.
This book was left for free at my university and I used it for my data structures course. My index for judging a book like is what I've started calling the "K&R (kernighan and ritchie) index". Not a judge of absolute quality, in some pretentious way, but moreover: how much material do they serve to be in a succinct way that allows me to learn topics on my own. I felt like as the material grew in complexity, the ability of the author to explain it succinctly diminished greatly. I was really rewarded in the first few chapters of the book but quickly put it down when we got to trees.
I think Main’s approach was pretty good for the first half of the book or so, but I think the explanations concerning B-trees could’ve been a lot better.
Not bad for an introduction to data structures. Decent course material, with mostly solid explanations. Some of them were too thick, some too trivial, but for the most part it was easy to follow without being too vacuous. There are probably better data structures books, even with Java examples, but the multitude of Computer Science students who will undoubtedly get this book assigned will learn much without too much pain.