Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

Data Structures and Program Design in C++ 1st Edition

2.4 out of 5 stars 39 customer reviews
ISBN-13: 978-0137689958
ISBN-10: 0137689950
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used
Condition: Used - Good
Condition: Used: Good
Comment: Unbeatable customer service, and we usually ship the same or next day. Over one million satisfied customers!
Access codes and supplements are not guaranteed with used items.
63 Used from $0.01
FREE Shipping on orders over $25.
More Buying Choices
10 New from $49.05 63 Used from $0.01
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

2016 Book Awards
Browse award-winning titles. See all 2016 winners
click to open popover

Editorial Reviews

Amazon.com Review

In a surprisingly lively textbook-style treatment, Data Structures and Program Design in C++ delivers expertise and plenty of sample programs for the working C++ programmer or computer science student.

While some books on data structures stress theory and mathematical concepts over real-world sample code, this guide illustrates its tour of data structures--such as stacks, lists, queues, trees, and graphs--with clear, engaging samples. Throughout, the authors make use of built-in C++ features (such as the Standard Template Library [STL] and templates) where appropriate.

Early chapters use such interesting examples as Conway's Game of Life, chess and game programming, a simple calculator, and an airport simulation. Along the way, the reader will learn about lists, stacks, and queues.

In later chapters, covering thornier topics such as sorting algorithms, trees, and graphs, the authors do not skimp on the mathematical underpinnings for measuring efficiency. Instead, they take extreme care to introduce everything required to understand such conventions as the "Big O" notation and principles of logarithms.

The book closes with a case study that combines several data structures and strategies. (The example, a Polish notation expression parser, is a difficult and common real-world sample.) -- Richard Dragan

From the Publisher

Progressing from the concrete to the abstract -- and using numerous, substantial case studies and sample programs -- this text explores structured problem solving, data abstraction, software engineering principles, and the comparative analysis of algorithms as fundamental tools of program design. --This text refers to an out of print or unavailable edition of this title.

Product Details

  • Hardcover: 717 pages
  • Publisher: Prentice Hall; 1st edition (October 3, 1998)
  • Language: English
  • ISBN-10: 0137689950
  • ISBN-13: 978-0137689958
  • Product Dimensions: 7.5 x 1.6 x 9.1 inches
  • Shipping Weight: 2.7 pounds
  • Average Customer Review: 2.4 out of 5 stars  See all reviews (39 customer reviews)
  • Amazon Best Sellers Rank: #550,320 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Paperback Verified Purchase
I just finished an online course on data structures at UMass, Lowell (secured an A grade without any problem) and this is the textbook used for this course. I agree with some of the comments made by the reviewers here - that typedef's are used beyond reason, code is presented in fragments. I must strongly disagree with the reviewers who said - the book is not worth the money (it's cheap if you buy a used one), it is a bad book, useful only as a paper weight. The strong plus point for this book is that it presents theory well - there are many figures using which it is easy to understand complicated stuff. The other plus point is that it also analyzes the performance of algorithms and I felt the book does a great job of explaining this part in clear terms. The main drawback is that the code is fragmented and spread out, which is certainly frustating. Also, in order to get the code to work on a compiler (I used Microsoft VC++ version 6), you will need to "fill in the gaps" as most code examples (I tried 90% of the examples in the text on MVC++ compiler) are by no means complete but this was not difficult. You can download the code from the publisher's website and the code is actually not organized into different files (sorted by chapter and example) but it comes in a few files where examples from different chapters are mixed. You will have to search and find the part you need. I do agree usage of dummy functions creates confusion. This book has a rocky start with the life game example, which was not very easy to follow with the explanation provided. While I was frustated with the first two chapters, the rest of the chapters are presented well. To the reviewer who said that the code has bugs (which certainly isn't true), my guess that the gaps are not properly filled.Read more ›
Comment 13 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
There is a number of books in Algorithm design which concentrate blindly on the run time complexity of algorithms, when covering them. This book is quite an exception to that tradition. In contrast, this book explain the algorithms itself. If you are interested to know about more detail and personalized characteristics of an algorithm, besides its running time complexity, such as space complexity, data movement complexity, performance on non asymptotic (smaller) case, etc. this is the book to read. Although, the book appears less technical at the first sight, I have compared it with Corman's. It contains almost all the analysis for the algorithms it presents. In fact Cormen's book lacks any analysis on space complexity. You will be disappointed in this book (like few other readers) if you are looking for a compendium of abstract complexity analysis of a large set of algorithms or just the discussion on data structure, pointer etc. It lacks advanced algorithms. Also, its graph theory chapter needs more depth. Without any reservation, I can say it is one of the best book available for first course in algorithm analysis and design.
Comment 7 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
Do you have basic knowledge of C++ syntax? Have you taken a first semester class, or worked through an intro C++ book? Are you the kind of programmer who learns by tinkering with code, rather than complaining that they aren't given 100% correct code from the start?

The best way to learn code (as anybody from Google, Microsoft, or Amazon will tell you) is to actually get your hands dirty with it, and this book does this, both implicitly and explicitly.

What does that mean? It explicitly does it by ending each chapter with a LARGE program. They're still toy programs, but they're actually quite instructive. The very first chapter puts together a functioning Game of Life program while teaching basic C++ syntax. The Queue chapter builds an airport runway with airplanes coming and going at random times. Chapter 6 builds a very simple text editor! These projects are some of the most successful projects I've ever seen in taking basic data structures and actually showing how they can be used in real world applications. In other words, they're excellent at turning you from a student of C++ into someone who is a SOFTWARE ENGINEER.

However, the book has some implicit difficulties to be honest. The code is old-fashioned in the sense that it feels like the type of code a C programmer writes while learning C++. Modern C++ just feels much more object-oriented than this code does. There are some errors in it, but I feel that anyone with basic coding knowledge should be able to figure out what's not working right. Syntax errors are some of the easiest and most basic errors to fix.

All in all, this is the BEST data structures book in C++ I've ever seen. There are some difficulties, and I wish that the author would update the book to meet C++11 standards, but if you do all the projects in this book, you will come out as more than just a student who understands data structures. You will be a novice software engineer.
Comment 3 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
This is a horrible book. All syntax are super confusing. I feel like the author is just trying to make the book looks good at a glance. Coding style is terrible and inconsistent. I have no idea why the instructor forced us to use this book in the class. Trust me, you will spend most of the time trying to understand the syntax of the source code rather than learning actual algorithm and data structures. The worst part is that the exam uses the same coding style. So be ready to memorize every details of the source code because everything is so dated and your final grade..... Just stay away from this book if you really want to learn something.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

What Other Items Do Customers Buy After Viewing This Item?

Pages with Related Products. See and discover other items: computer programs