|
| Login | Sign up | My Wish List |
![]() | Data Structures and the Java Collections Framework by William Collins ISBN-10: 9780072369649 ISBN-10: 0-07-236964-7 ISBN-13: 9780072369649 ISBN-13: 978-0-07-236964-9 Hardcover 2001-08-14 McGraw-Hill Science/Engineering/Math Find Lowest Price | |
Editorials | ||
Product Description Data Structures and the Java Collections Framework by William Collins is designed for a course in data structures where the implementation language is Java. This student-friendly book focuses on teaching students how to apply the concepts presented and so includes many applications and examples throughout the book. Additionally, he provides programming projects, which get students thinking deeper. Collins teaches students how to use the data structures provided in the Java Collections Framework, as well as teaching them how to build the code themselves. His goal is give students an excellent background in creating data structures themselves, as well as make them comfortable using the standard library. Using the Java Collections Framework gives students the opportunity to work with excellent fully tested code. Further, since this is a standard library of classes, students will be able to continue to use it for other courses and as they move into industry. Another feature of this text is that labs are provided with the book. These labs can be used as open-labs, closed labs, or homework assignments and are designed to give students hands-on experience in programming. These optional labs provide excellent practice and additional material for the students. | ||
Reviews | ||
Excellent book I found this book to be very helpful in learning data structures. I read it on my own, without help from a teacher and was able to understand everything thanks to the thorough and step-wise coverage of the material. The only exception was the chapter on algorithm analysis, which I agree is not easy to grasp. But I was more interested in the structures themselves and what each one was efficient at, so the math analysis wasn't that important to me. The math isn't as important as understanding what makes one function faster than another. One of the previous reviewers complained that this book focused too much on object-oriented programming and the Java language. Hello? Did you read the title? This is a book about Java. I really like his approach of covering the Collections framework while discussing data structures because a lot of introductory programming courses in Java don't cover Collections very well, or at all. He introduces the framework at the beginning of the book and as he goes through each kind of data structure he creates his own simple implementation that the student can follow along with. Once that it is understood he describes the way that the Collections framework officially implements it and points out how the differences will affect programmers who use it. That step-wise approach to each topic is very effective. I recommend this book. Just skip chapter 3. | ||
Great introduction to data structures Almost three years ago I read a data structures book which used Java for implementation of the topics covered. Perhaps I did not have a solid grasp of the Java language back then, but the book was one of the worst I have come across - I don't even remember the name. "Data Structures and the Java Collections Framework" on the other hand is one of the most up-to-date books available and certainly one that I will remember for quite some time. Not only does it cover the theory behind many of the fundamental data structures such as arrays, stacks, queues, trees, graphs, maps, etc. but it also illustrates common algorithms required by those data structures. For a book covering this kind of material that would have been enough, but this book excels in showing implementations with the latest version of Java. Furthermore, this book's purpose is not to teach Object Oriented programming with Java, or the latest features of version 1.5 (Generics, foreach loop, boxing, vararg). The author assumes those were taught in an introductory Java course. Thus, the book does accomplish its goal to teach data structures using Java, and taking advantage of OO design and the latest features of the language. And for those who need a quick refresher two review chapters are included that quickly cover the most commonly used features of Java, as well as javadoc and packages. As many other technical books, this one contains its share of typos and errors - nothing major though. Later in the book, only parts of the entire implementation of certain data structures are presented, but yet there is no mention that the book's website contains that and more. Also, an introduction to JUnit could have made this book better. The part that readers will find most useful about Mr. Collins' book is the future applicability of the Java Collections Framework. There are many poorly written books that deal with data structures and books about the Collections Framework. And yet this book does an outstanding job with the two subjects. A great book to learn data structures from - Highly recommended. | ||
Professors: do not use this book for your classes The intro chapters (including a preview of the new edition) are amongst the worst intro to java. Typos, use of deprecated methods abound and several key areas (complexity analysis) are awkward at best. | ||
Not a good book for a computer science course As an undergraduate in computer science, I absolutely hate this book. It places way too much emphasis on object-oriented programming (OOP), instead of concentrating on its main topic, data structures. It makes an artificial distinction between what it calls the "user" of a class and the "developer" of the class, and tries to introduce pre-programmed data structures first from the "user's" point-of-view, and only later mentioning the real implementation of the data structures. The author apparently fails to grasp that students cannot truly understand data structures until they have programmed their own data structures from scratch. The book also makes excessive and superfluous use of things such as preconditions and postconditions. For example, how truly enlightening is the following postcondition for the IsEmpty() method of the ArrayList class? // Postcondition: true has been returned if this ArrayList object has no elements. Otherwise, false has been returned. If you want a good introduction to Data Structures, then you should look for a different book, preferably one that uses a better language than Java. Okay, I admit that C/C++ pointers are difficult to learn at first, but after you've used them for a while, it's fairly intuitive. Java's "references", on the other hand, are easy to use at first, but when you try to implement linked data structures, they become confusing and non-intuitive. | ||
Dense book, Focuses on Linked Lists This is a rather dense book and spents more time on Linked Lists than any other Data Structures in Java books I have seen on the market. | ||