Series: Mitchell Waite Signature
Hardcover: 600 pages
Publisher: Waite Group Press (April 1998)
Product Dimensions: 9.5 x 8.3 x 1.6 inches
Shipping Weight: 3.2 pounds
Average Customer Review: 4.5 out of 5 stars See all reviews (32 customer reviews)
Best Sellers Rank: #759,168 in Books (See Top 100 in Books) #80 in Books > Computers & Technology > Programming > Algorithms > Data Structures #127 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Structured Design #375 in Books > Computers & Technology > Databases & Big Data > Data Modeling & Design
I am surprised that most instructors haven't banned this book! It is absolutely one of the best data structures references on the market and with answers provided with the enclosed CD, one perfect "cheat book." Virtually all the standard data structures for an introductory DS&A course are included here with a good explanation behind the rationale used in the implementation of the code. Lafore is a good writer and explains things well, unlike certain authors. The book isn't heavy on the mathematics, which is good for programmers who don't want to get involved with theory. The applets which implement the data structures are particularly nice.As mentioned in a previous review, trees are not covered well in this book, but most introductory books don't cover them well either. I don't expect to see an analysis of AVL or red-black trees in an introductory book (Cormen's text, which is the standard for grad school, doesn't explain trees well either). In fact, only Schaffer's book does a creditable job of explaining AVL trees but the implementation of the code isn't the greatest. But for linked lists, stacks,queues, and the like, there are few books that are the equal of this one. Buy the book and you'll pass your DS&A class with flying colors!
This book is a very accessible text on the subject of data structures and algorithms using Java as the implementation language. I found the book to cover things excellently. The author is very efficient and handles these topics without being either too wordy or not giving enough information. The book approaches the subject from what I would call a non-academic angle. The coverage of Big-O notation is non-mathematicall. The author explains the Big-O speed of each data structure or algorithm but does not go into detail about the mathematical basis of such a number. One falling point for some may be the lack of exercizes. I, for one, did not miss these but if you are looking for a book with them, you'll have to look elsewhere. Overall, I highly recommend this book, especially for someone new to the subject. One last point, while the author fails to give any Java implementation for Red-Black trees, this is the only place in the book where he does so. He clearly explains his reasoning for doing as he does--the subject is quite complicated and the code for it immense. He does, however, give a good theoretical explanation of the subject.
I give this book 5 stars. 1. It has a great Table of Contents and Index. Finding topics is a breeze. 2. The explanations for the various data structures presented were outstanding. Explanations were built using simple words and short sentences which facilitates grasping new concepts and definitions. When new words were introduced, their meanings were thoroughly and simply explained. It is a good read. 3. Every data structure and its mechanisms were represented by drawings of colored objects that represented the various data structures. It made visualization of abstract concepts a breeze. This book has the best pictorial representations of Data Structures I that I have seen. (I reviewed over 14 textbooks. Most were didactic regurgitations of either Knuth's tome or Weiss, i.e., difficult to read, appear written for an audience of academics, not students.) 4.The book is very well made. I used it every day for 4 months and it showed no signs of wear and tear. Several other books had pages falling off of their backing withing two weeks of purchase. I returned those books. This book will be will me for decades. 5. The CD included with the book is quite good, and the price of this book was far better than other books. It is an excellent value. Why did I need a book about Data Structures? One required course that I took for my CSCI degree was Data Structures. The book chosen by the CSCI department for our course in Data Structures was "Data Structures & Algorithm Analysis in Java " by Mark Allen Weiss. I reviewed it in detail and found that it was not written in a easy to understand format. Also, it did not include enough diagrams to help me grasp abstract concepts. After reviewing this book, "Data Structures And Algorithms in Java" I purchased it and used it exclusively. It was essential to helping me grasp the concepts of how B-Trees and other structures operate and when they are indicated for use. This book is one of the reasons I got an "A".
When I started studying data structures, I was quite taken aback by the descriptions given in my college textbook. The examples were convoluted and shied from giving the reader an understanding of the basic concepts. Rather, it chose to focus purely on algorithmic analysis. That approach required too many mathematical proofs and other complex notation. Fortunately for me, this gem by Lafore came to the rescue.Lafore's illustration of data structures is concise and easy to follow. In each section the data structure is discussed in general and then further dissected into easily understandable subsections. An added benefit is that each chapter has Java code that illustrates the main functions of each data structure discussed. The code is included on a CD that also contains interactive Java Applets. I found that the applets really helped illustrate how some of the more complex structures work.There is no code in the chapter on Red-Black trees or in the chapter on 2-3-4 Trees and external storage. This is okay however, since presentation of the code might have consumed too much space and have been difficult to follow (Fortunately, There are insightful applets for these topics). My only regret is that the book doesn't give as much in-depth information on certain functions of B-trees and B+ Trees as it does on the other topics. More than less likely this is a little (too?) picky on my part.Overall a great book to get if you are interested in learning essential Data Structures.