Paperback: 783 pages
Publisher: Addison Wesley; 2nd edition (July 25, 2000)
Language: English
ISBN-10: 0201702975
ISBN-13: 978-0201702972
Product Dimensions: 7 x 1.7 x 9.3 inches
Shipping Weight: 2.6 pounds
Average Customer Review: 3.4 out of 5 stars See all reviews (61 customer reviews)
Best Sellers Rank: #1,095,441 in Books (See Top 100 in Books) #114 in Books > Computers & Technology > Programming > Algorithms > Data Structures #186 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Structured Design #369 in Books > Textbooks > Computer Science > Object-Oriented Software Design
I thought this book was great. Yes, others may say it was very difficult to get through (i agree) but with persistence there is a big reward. The book provides full implementation details for a bunch of data structures and even sections devoted to the STL and iterators. I don't believe the implementation in this book was meant to be compiled under MVC++'s IDE. The back of the book provides a website containing a free compiler (GNU) to download along with other tools like the emacs editor (That runs on MS Windows). I have never experienced any problem compiling any of the example code under this free compiler (and using MVC++ for the code in the book is like trying to kill an ant with a shotgun anyways). This book was also not meant to teach basic C++ coding but rather to teach the concept of data structures (which should apply to various programming lang. anyways). If you want to learn how to code in C++, I recommend Deitel & Deitel "C++ How to program". However this book does teach some areas of basic C++ coding like the importance of the const keyword, using templates, and the new and delete operators. This book also includes some run-time analysis for various algorithms.
After reading the poor reviews I felt bad having to buy this book for a university level data structures course. However, after using this book for a short time I really grew to like it. It is an excellent introduction to classes and OOP in addition to data structures. It picks up right around where most introductory C++ texts leave off. I found the authors explanations to be very clear and the examples to be very relavant to the topics in each chapter. The author seems to build on topics chapter after chapter so it is hard to forget what has already been learned. This is one of the few text books that I am going to keep for future reference.
I more or less liked this book. Upon reading many of the reviews before purchasing the book I was somewhat discouraged from buying it. In the end, I really had no choice since this was the book required for the course I am taking. But, in general it is a very good book. The material itself that is covered isn't the simplest to get a grasp of. You need patience and plenty of hard work. It covers a lot of major topic areas, from linked lists, to sets, to stacks, to queues, to trees, to graphs. Also dedicated chapters introduce and develop upon the concepts of recursion and inheritance. And there are two chapters dedicated to sorting an searching algorithms. The author assumes that you have a relatively good grasp of object oriented concepts. This is not an introduction to C++ book. You should have good groundings in C++ especially with the use of pointers and working with dynamic memmory. Also, if you can think recursively you will be greatly rewarded since most of the examples in later parts of the book rely on this mind twisting yet important concept. If you are using VC++ make sure to use #pragma warning(disable:4786) when working with STL multisets it will save you from the 100 or so compiler warning messages you will get.
I really like this textbook. I will often skip to the middle of a chapter to understand a specific concept without reading the whole chapter and I can often manage to understand the material just fine. But, if I take the time to read the beginning of the chapter, it is always easy to understand, which I really like. If I just get frustrated trying to understand a topic, I know I can go to the beginning of the chapter and read through and I will understand it fine.However, I gave this book 4 stars for two reasons. One, it suggests you use a coding practice where when you need to include implementation in a header file, Michael Main says you should make a new file called 'filename.template' like 'table1.template'. This has given me more headaches than help. The only "advantage" of this is that you can "bend the rules" and make an implementation file separate from your header file when it is not usually possible. But it is unnecessary and problematic for some compilers. I think it should be nixed in the next edition.Also, the second con is: COLOR! Please put some color in the text next time. C++ is dry enough. If it was broken up with some color, it would be much easier to digest.However, like I said, this is mostly really well written and easy to understand, and not intimidating. I really liked the text.
Our teacher assigned this text because we all had such a good experience with Savitch's "Problem Solving with C++". This book is however quite horrible. The text goes on and on and on and on! If you only needed a page or two of concise reading to get an idea, this book will make sure that you read through eight pages of unnecessary garbage to get there. Our teacher would assign the chapters as reading, and I would try staying up to 3AM the night before trying to read the very long chapters, and it is ridiculous!Our teacher even turned on it later. The book breaks rules for good coding in its examples that our teacher had to explicitly point out (and she did take off for those errors in our own programs). I think there is only supposed to be "one entry, one exit" and no breaking out of a program, and the book has other errors too.
Data Structures and Other Objects Using C++ (2nd Edition) Data Structures and Other Objects Using C++ (4th Edition) Data Structures and Other Objects Using Java (3rd Edition) Data Structures and Other Objects Using Java (4th Edition) Data Structures and Other Objects Using Java Data Analytics: Practical Data Analysis and Statistical Guide to Transform and Evolve Any Business Leveraging the Power of Data Analytics, Data Science, ... (Hacking Freedom and Data Driven Book 2) Data Architecture: A Primer for the Data Scientist: Big Data, Data Warehouse and Data Vault Objects, Abstraction, Data Structures and Design: Using C++ Java Software Structures: Designing and Using Data Structures (3rd Edition) Java Software Structures: Designing and Using Data Structures Starting Out with Java: From Control Structures through Data Structures (2nd Edition) (Gaddis Series) The Data Revolution: Big Data, Open Data, Data Infrastructures and Their Consequences Big Data For Beginners: Understanding SMART Big Data, Data Mining & Data Analytics For improved Business Performance, Life Decisions & More! Big Data, MapReduce, Hadoop, and Spark with Python: Master Big Data Analytics and Data Wrangling with MapReduce Fundamentals using Hadoop, Spark, and Python Data Structures with C++ Using STL (2nd Edition) Starting Out with Java: From Control Structures through Data Structures (3rd Edition) Data Structures and Algorithms Made Easy: Data Structure and Algorithmic Puzzles Data Structures and Algorithms Made Easy in Java: Data Structure and Algorithmic Puzzles Swift: Programming, Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in ... mining, software, software engineering,) Java Programming Box Set: Programming, Master's Handbook & Artificial Intelligence Made Easy; Code, Data Science, Automation, problem solving, Data Structures & Algorithms (CodeWell Box Sets)