|
| Login | Sign up | My Wish List |
![]() | Data Structures and Algorithms in C++, Second Edition by Adam Drozdek ISBN-10: 0534375979 ISBN-10: 0-534-37597-9 ISBN-13: 9780534375973 ISBN-13: 978-0-534-37597-3 Hardcover 2000-06-30 Course Technology Find Lowest Price | |
Editorials | ||
Product Description Building on widespread use of the C++ programming language in industry and education, this book provides a broad-based and case-driven study of data structures -- and the algorithms associated with them -- using C++ as the language of implementation. | ||
Reviews | ||
Text Book I saw a different picture when i order it but got a totally different book from what I expected, but it was only $6.95 so i just kept it. | ||
Worths every $ I bought this book due to the other reviews and targeting the string matching chapter. But when it arrived, I was able to directly apply tree other topics in my current work (skip list, recursion parser and expression tree). It saved me a lot of research, so I'm very happy with it. | ||
Absolutely the best C++ DS&A book On my bookshelf right now I have 13 books on DS&A using C++. Every time I am in need of a new type of data structure or algorithm, and quickly scan through each of them to determine which seem to have the most relevant information, and also which have useable source-code. Drozdek's book is almost always the book I end up selecting to learn a new topic. Without a doubt, Drozdek's DS&A book is the most complete and well-written of its kind. It includes a chapter of graphs, which many books surprisingly omit. Also, as of the 3rd edition, it includes a chapter on string matching. As far as I know, this is the *only* C++ DS&A book to dive into this subject. Surprisingly (because of such a broad-scoped book), the material presented in the string matching chapter is modern and incredibly useful. I found the coverage of suffix tries to be excellent. According to Professor Drozdek (via email correspondence), this chapter is actually a compressed version of what was to be an entire C++ book on string matching. Apparently no publisher would touch such a 'specialized' book. How short-sighted of them! I work in a research-intensive company focused on developing cutting-edge algorithms to solve difficult modern problems. We do the majority of our coding in C++, which is what originally attracted me to Drozdek's book. Since then, I have referred several colleagues to this book, all of which now use it regularly and are loving it. My only complaint about this book is that it doesn't discuss primality or random-number generation at all. So many algorithms rely heavily on one or both of these, so I find it strange that this book (and most others) completely ignore them. As for the reviewer who negatively commented "worst written educational book I have ever read", this person obviously bought Drozdek's book expecting to learn C++ and not DS&A. If you're looking to learn C++, I recommend "C++ Primer Plus (5th Edition)" by Stephen Prata (ISBN: 0672326973). Despite its awkward title and oft-maligned publisher, it really is an excellent book for learning C++ (and also as a reference for an experienced programmer). Depending on your needs, you might look into supplementing Drozdek's book with Robert Sedgewick's books 'Algorithms in C++'. His books do not go as deep as Drozdek does, but he provides an enormous number of fully implemented algorithms that don't exist in any other C++ DS&A book. Be sure to get the 3rd edition; it is much improved over the 2nd. Here's a complete TOC of Drozdek's book (3rd edition): Table of Contents 1. Object-Oriented Programming Using C++ 2. Complexity Analysis 3. Linked Lists 4. Stacks and Queues 5. Recursion 6. Binary Trees 7. Multiway Trees 8. Graphs 9. Sorting 10. Hashing 11. Data Compression 12. Memory Management 13. String Matching Appendices A: Computing BIG-O B: Algorithms in the Standard Template Library C: NP-Completeness | ||
Clear, easy to follow explanations and practical illustrations in C++ Although I have bought this book for its C++ emphasis for DSA, I have found it very good at teaching DSA itself. It has very clear explanations, well chosen examples, and depth enough coverage with along clear and easy to understand code illustrations in C++. The book teaches the topics in an incremental manner by making connections among different related DS and algorithms, which are helpful in understanding the theory. Its layout for teaching a topic consists of three parts: 1) Introducing the data structure or algorithms with an informal language. It relates it with other similar ones, and explains the differences. 2) It shows C++ implementation (it does not have C++ codes for all DS and A's; however, I think what it has is enough for such a book) and explanations, even some alternative implementations. 3) It has complexity analysis for the algorithm, and any drawbacks. Drozdek has concluded the each chapter with an case study and provides full implementation in C++. I have extensively studied Cormen's book of "Introduction to Algorithms", which I really like, however, this book is much better at teaching the fundamentals of the DSA topics and has better figures although Cormen's book is more in-depth and has more topics covered, and more academic. If you are looking at more implementation of the DSA with some in-depth theory, Drozdek's book is more useful. If you need more academic study on DSA, Cormen's book would be more helpful (in fact, I suggest both of them). Another thing I like in this book is its chapter for Memory Management. Although this is an OS topic, it covers it since many DSA requires dynamic memory allocations, and I think it is good at teaching the basics of data structures and algorithms used in memory management. In short, I strongly suggest this book to programmers who wants to understand DSA and CS students, and also the ones want to have a reference book. I think C++ codes are extra for those who are programming in C++. | ||
Contrary to prior belief I had Weiss's book on dsa in c++, and this book surpasses it in terms of clarity and accuracy (both books are comparable in breadth and depth). The previous reviewer fails to notice that this book is about data structures and algorithms, and not C++ (although having a C++ book next to this one couldn't hurt either). So think of this book as a much better version of Weiss's book. | ||