Java Collections: An Introduction to Abstract Data Types, Data Structures and Algorithms
Conditions
A read copy that remains in clean condition.
Conditions
A read copy that remains in clean condition.
Conditions
A read copy that remains in clean condition.
Conditions
A read copy that remains in clean condition.
I've been teaching data structures and algorithms for over 25 years,and the fundamentals--which every computer science student shouldknow--haven't changed very much. However, it doesn't follow thateveryone needs to write their own linked lists or hash tables fromscratch, when Java already supplies so much of that. I have looked fora textbook that balances explanation of the basics with exploration ofthe Java Collections Interface, and this is by far the best book to date.(The similarly-named book by Zukowski has too many errors of factin it for my taste.)Another reviewer said that this book does not cover the Java CollectionsAPI. This is incorrect. The authors develop the ideas behind each datastructure as a suitably abstract data type, and then go on with "...andhere's how the Java Collections API does it." I think the previousreviewer simply didn't read far enough to get to those parts.For a tutorial on just the Java Collections API, Sun's online "Trail" isthe best single source, and has the advantage that it is not intermixedwith implementation details. If that were enough, no data structurestextbook would be necessary. However, in real problems, anypredefined generic data structure is likely to be inadequate and willneed to be extended; this is why a good programmer needs to knowthe Collections API (so as to avoid reinventing the wheel), but inaddition a good computer scientist needs to know how these datastructures are implemented, so that he/she can go beyond them whennecessary.The book is somewhat weak on algorithms and would not serve as areference on this topic; however, there is plenty of meat here for a firstcourse on data structures and algorithms.
I've been reading through a copy of this book, and comparing it to another notable book on the same subject, mainly "Data Structures and Algorithm Analysis in Java" (DSAAJ) by Mark Allen Weiss. Something very noticeable is that Java Collections is a much simpler book to tackle, though I feel that this detracts slightly from its use as a textbook. As a PhD student in Computer Science, I prefer the mathematical detail I found in DSAAJ than the lesser amount of math that Watt and Brown provide in Java Collections. Yet, at the same time, the case studies in Java Collections are a tremendous help in understanding what a given ADT is useful for, which DSAAJ doesn't go into at all. And the detail on what a specific ADT is supposed to do is much better detailed in Java Collections than in DSAAJ. As a TA, I taught a course in Data Structures and Algorithms for Computer Engineering students. The textbook we used for that was Weiss' DSAA book directed towards C++ instead of Java, but for those who know both versions of the book, the two are very similar. If instead of C++ the course was oriented towards Java, I would have chosen this book as a textbook for that course; these students weren't needing the math focus, and they (and I) would have preferred the practical programming knowledge in here.For the programmer out of college, or the college student that wants an alternate view on ADTs than what DSAAJ provides, this is an excellent book. Member of the Columbia Java User Group (www.colajug.org)
This book is one of the best books out there for Java Algorithms and Data-Structures. It helped me a lot through CS180 (Purdue University). Very easy to understand definitions and code give you the essence of the topic.HIGHLY RECOMMENDED!!!!!