I have used this book in my data structures class. It has some good points. It covers each and every data structure in depth and discusses multiple implementations of each of them. It also makes liberal use of diagrams showing what the data structure is supposed to be doing in memory at that time. The problem with it is that it deals with everything very theoretically, often times letting the user puzzle out the implementations themselves. It is overly wordy, the explanations could be cut in half and made much more to the point without loosing anything. I don't know about anyone else but I like to be taught how to do something and then play with it for understanding. I don't like to have the entire theory of what is supposed to happen explained to me in the abstract and then being left to get it or not. Although there are people who learn best this way. If you are one of them then by all means pick up this book. My over all feeling is that it makes you work overly hard to acquire the knowledge that it presents.
Contents
Chapter 1 - Preparing for the Journey
Chapter 2 - Linked Data Representations
Chapter 3 - Introduction to Recursion
Chapter 4 - Modularity and Data Abstraction
Chapter 5 - Introduction to Software Engineering Concepts
Chapter 6 - Introduction to Analysis of Algorithms
Chapter 7 - Linear Data Structures - Stacks and Queues
Chapter 8 - Lists, Strings, and Dynamic Memory Allocation
Chapter 9 - Trees
Chapter 10 - Graphs
Chapter 11 - Hashing and the Table ADT
Chapter 12 - External Collections of Data
Chapter 13 - Sorting
Chapter 14 - Advanced Recursion
Chapter 15 - Object-Oriented Programming
Chapter 16 - Advanced Software Engineering
Appendix - Math Reference and Tutorial
Annoying to read
Rating: 2/5
Covers all the topics, but in an academic and wordy fashion. not worth the money. he simply does not explain thing that well.
Poor organization
Rating: 1/5
This book is very poorly organised. The previous reviewer said that Standish emphasized data abstraction and modularity. This is true, but his approach is the typical "give examples and hope the reader learns from just the examples". A better approach would be to say it first before giving the example. Unfortunately Standish does not do this. If you're like me and don't like learning simply from examples, then don't get this book.
Contents
Chapter 1 - Preparing for the Journey
Chapter 2 - Linked Data Representations
Chapter 3 - Introduction to Recursion
Chapter 4 - Modularity and Data Abstraction
Chapter 5 - Introduction to Software Engineering Concepts
Chapter 6 - Introduction to Analysis of Algorithms
Chapter 7 - Linear Data Structures - Stacks and Queues
Chapter 8 - Lists, Strings, and Dynamic Memory Allocation
Chapter 9 - Trees
Chapter 10 - Graphs
Chapter 11 - Hashing and the Table ADT
Chapter 12 - External Collections of Data
Chapter 13 - Sorting
Chapter 14 - Advanced Recursion
Chapter 15 - Object-Oriented Programming
Chapter 16 - Advanced Software Engineering
Appendix - Math Reference and Tutorial