Buy Used
+ £2.80 UK delivery
Used: Very Good | Details
Sold by momox co uk
Condition: Used: Very Good
Comment: Please allow 1-2 weeks for delivery. For DVDs please check region code before ordering.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Data Structures and Algorithms in C++ Hardcover – 30 Jul 2000

See all 4 formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£49.77 £23.93

There is a newer edition of this item:

Product details

  • Hardcover: 528 pages
  • Publisher: Brooks/Cole; 2nd Revised edition edition (30 July 2000)
  • Language: English
  • ISBN-10: 0534375979
  • ISBN-13: 978-0534375973
  • Product Dimensions: 19 x 2.9 x 23.5 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 2,639,571 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Inside This Book (Learn More)
First Sentence
Before a program is written, we should have a fairly good idea how to accomplish the task being implemented by this program. Read the first page
Explore More
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

By James on 11 Jun. 2011
Format: Paperback Verified Purchase
As I'm teaching myself everything, I really needed a good book, that could both teach me everything and also be a reference later. The internet got me started but there wasn't anywhere that provided a complete, expert and thorough coverage of the topic.

I'm not sure why I picked this book, and now that I'm over half way through I can confirm it fits the criteria above. In it is all the essential structures and algorithms, but also lots of extras and bits of knowledge which have really got me interested. When transforming the data structure into code implementation, sometimes this can be difficult, especially with something like a B-tree or AVL-tree. However, Drozdek gives many coded examples, which are invaluable alongside psuedocode for understanding the concept. The diagrams are clear and useful, and the mathematical and complexity proofs mostly followable (although sometimes need a lot of thinking about!)

This is not covering an easy subject, so often I'll read through a chapter, thinking I've understood something but maybe not have got the whole picture. This is why the exercises and assignments are really important - many of them are hard and require thinking outside the box, but by doing them, you really know if you've understood something. They're not just questions with answers in the chapter, they're questions that require applying your knowledge and being inventive. So often, I actually learn more by answering the exercises and doing all the assignments than anything else.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 16 reviews
46 of 47 people found the following review helpful
Absolutely the best C++ DS&A book 29 Aug. 2006
By irotas - Published on
Format: Hardcover
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


A: Computing BIG-O

B: Algorithms in the Standard Template Library

C: NP-Completeness
23 of 24 people found the following review helpful
Clear and concise, good examples, not too heavy 21 Dec. 2002
By Mr. Stephen A. Orzel - Published on
Format: Hardcover Verified Purchase
This book was used in my Junior-level Advanced Data Structures and Algorithms course. This was the first semester that we used this book and people seemed to like it. Apparently, the old textbook for my class had too much code and not enough explaination. The author presents most of the algorithms in pseudo-code as apposed to a full implementation, but the code exaples are plentiful.
This book will get you learning advanced topics in data structures and algorithms in no time. I learned a lot from this book, and read the first 10 chapters. The scope of topics discussed is large and is presented in top-down fashion. There were even several topic areas that we didn't have time to spend on, like self-organizing lists, networks, self-balancing trees, data compression, and garbage collection.
I was tempted to only give 4 stars in this review because there are a painful number of typos/errors in this text. I was usually able to see beyond the errors, but it made it more difficult than it should have been. A new edition should seriously address this.
A full grasp of C++ is necessary to read through this book, but that should be given when studying general data structures and algorithms. A C++ reference will be very helpful when doing programming assignments because this is not a book on the language.
This book will probably always be on my shelf. Even though all of the code is in C++, which is not eternal, it does not rely heavily on the language. Most of the algorithms are given in pseudo-code, and the data structures are developed independent of the laugage choice. I still plan on reading the sections that we skipped in class. I would recommend this text to any computer science student.
7 of 7 people found the following review helpful
Clear, easy to follow explanations and practical illustrations in C++ 28 Aug. 2006
By Deniz Demir - Published on
Format: Hardcover Verified Purchase
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++.
10 of 12 people found the following review helpful
Kept it simple & straight forward -One of the best DSA books 21 Feb. 2002
By Ganesh Kondal - Published on
Format: Hardcover
Best book on data structure algorithms. Even helpful for Java developers who worked on C++ long time ago(like me!).
- examples are to the point
- not complex
- detailed description based on examples of how the alg works
-the format of presenting examples are good.
Altogether one of the best books for data structures and algorithms.
15 of 19 people found the following review helpful
Excellent way to learn data structures! 20 July 2001
By Vamsee - Published on
Format: Paperback
After a frustrating search for good( and understandable ) books for learning Data Structures, I chanced to see this book and bought it, as it closely matches our CS syllabus. I was lucky and not wrong in trusting Mr.Drozdek. The explanation is very detailed, with illustrations when needed and understandable code. I love this book! I recommend it for anyone who's serious about learning data structures.
Were these reviews helpful? Let us know