Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player

Sell Us Your Item
For a $3.13 Gift Card
Trade in
Kindle Edition
Read instantly on your iPad, PC, Mac, Android tablet or Kindle Fire
Buy Price: $100.99
Rent From: $43.49
Free Trial: $0.00
Have one to sell? Sell yours here

Data Structures and Algorithms in C++ [Hardcover]

by Adam Drozdek
4.5 out of 5 stars  See all reviews (16 customer reviews)

Available from these sellers.

Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Kindle Edition
Rent from
Hardcover --  
Hardcover, September 24, 2004 --  
Paperback --  
Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now
There is a newer edition of this item:
Data Structures and Algorithms in C++ Data Structures and Algorithms in C++ 2.7 out of 5 stars (3)
In Stock.

Book Description

September 24, 2004 0534491820 978-0534491826 3
Using the C++ programming language, author Adam Drozdek highlights three important aspects of data structures and algorithms. First, the book places special emphasis on the connection between data structures and their algorithms, including an analysis of the algorithms' complexity. Second, the book presents data structures in the context of object-oriented program design, stressing the principle of information hiding in its treatment of encapsulation and decomposition. Finally, the book closely examines data structure implementation. Overall, this practical and theoretical book prepares students with a solid foundation in data structures for future courses and work in design implementation, testing, or maintenance of virtually any software system.

Editorial Reviews

About the Author

Adam Drozdek is Associate Professor of Computer Science at Duquesne University.

Product Details

  • Hardcover: 776 pages
  • Publisher: Course Technology; 3 edition (September 24, 2004)
  • Language: English
  • ISBN-10: 0534491820
  • ISBN-13: 978-0534491826
  • Product Dimensions: 9.3 x 7.6 x 1.3 inches
  • Shipping Weight: 3 pounds
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (16 customer reviews)
  • Amazon Best Sellers Rank: #473,771 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
44 of 45 people found the following review helpful
5.0 out of 5 stars Absolutely the best C++ DS&A book August 29, 2006
By irotas
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.
Read more ›
Was this review helpful to you?
22 of 23 people found the following review helpful
5.0 out of 5 stars Clear and concise, good examples, not too heavy December 21, 2002
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.
Comment | 
Was this review helpful to you?
7 of 7 people found the following review helpful
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.
Read more ›
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Database beginner book
Great book to start out learning databases. Easy reading with lots of examples which I need a lot of. Got me an A in the class.
Published on April 1, 2012 by Dolphy
5.0 out of 5 stars Excellent book to learn C++ programming
Even thought this book is titled as data structures book, it's mainly emphasizes C++ programming techniques. Data structure coverage is of superior quality too.
Published on September 21, 2011 by Jimmy_MO
5.0 out of 5 stars bedside book
this is a great book, not just for who wants to get deep on algorithms but to everyone who need to learn quickly.
Published on September 18, 2011 by Daniel
4.0 out of 5 stars Very good introduction to data structures
I am not from computer science background but had basic knowledge about data structures. I was looking for a book which would give me exposure to undergraduate level data... Read more
Published on November 27, 2010 by Ankur
5.0 out of 5 stars The best
This is my favorite data structures/algorithms book. If you want to learn the theory and application [note that the author's code actually works], this is the book. Read more
Published on June 14, 2010 by D. Siddiqui
2.0 out of 5 stars 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.
Published on March 29, 2008 by Ewart Nicholas
5.0 out of 5 stars 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... Read more
Published on October 24, 2007 by Fernando Carijo
5.0 out of 5 stars 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). Read more
Published on January 24, 2006 by Wallun Chan
1.0 out of 5 stars worst written educational book I have ever read
The book is written at a level way above the average student. After having 2 years of C++ and breezing through them, this book explains little and asks a lot at the end. Read more
Published on January 20, 2006 by Mark T. Hurter
5.0 out of 5 stars Kept it simple & straight forward -One of the best DSA books
Best book on data structure algorithms. Even helpful for Java developers who worked on C++ long time ago(like me!). Read more
Published on February 20, 2002 by Ganesh Kondal
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category