Data Structures and Other Objects Using C++, 4th edition

Published by Pearson (February 24, 2010) © 2011

  • Michael Main
$170.66

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks

Data Structures and Other Objects Using C++ takes a gentle approach to the data structures course in C++. Providing an early, self-contained review of object-oriented programming and C++, this text gives students a firm grasp of key concepts and allows those experienced in another language to adjust easily. Flexible by design, professors have the option of emphasizing object-oriented programming, covering recursion and sorting early, or accelerating the pace of the course. Finally, a solid foundation in building and using abstract data types is also provided, along with an assortment of advanced topics such as B-trees for project building and graphs.

  • Provides interfaces for the principal example classes, which are compliant with the ANSI/ISO C++ Standard Library classes.
  • Thorough coverage of the role of the const keyword in the C++ Standard Library.
  • Covers C++ features such as namespaces, static member constants, typename keyword, and inheritance.
  • Thorough review of C++ syntax and OOP concepts in each chapter makes this book accessible for students at various levels.

SUPPLEMENTS

  • Source Code
  • Powerpoints
  • Solutions
  • CourseSmart eTextBook

The C++ Standard Template Library (STL) plays a larger role in the curriculum than past editions, and the authors have added selected new material to support this. It’s important that students understand both how to use the STL classes in an application program and the possible approaches to implementing these (or similar) classes. With this in mind, the primary changes that you’ll find for this edition are:

  • A new Section 2.6 that gives an early introduction to the Standard Template Library using the pair class. The authors have been able to introduce students to the STL here even before they have a full understanding of templates.
  • An earlier introduction of the multiset class and STL iterators in Section 3.4. This is a good location for the material because the students have just seen how to implement their first collection class (the bag), which is based on the multiset.
  • The authors continue to introduce the STL string class in Section 4.5, where it’s appropriate for the students to implement their own string class with a dynamic array.
  • A new Section 5.6 that compares three similar STL classes: the vector, the list, and the deque. At this point, the students have enough knowledge to understand typical vector and list implementations.
  • A first introduction to the STL algorithms appears in Section 6.3, and this is now expanded on in Sections 11.2 (the heap algorithms) and 13.4 (expanded coverage of sorting and binary search in the STL).
  • A new Section 8.4 provides typical implementation details for the STL deque class using an interesting combination of dynamic arrays and pointers.
  • A discussion of hash tables in the proposed TR1 expansions for the STL is now given in Section 12.6.

Most chapters also include new programming projects, and you may also keep an eye on the project web site, www.cs.colorado.edu/~main/dsoc.html, for new projects as the authors develop them.

CHAPTER 1 The Phases of Software Development
CHAPTER 2 Abstract Data Types and C++ Classes
CHAPTER 3 Container Classes
CHAPTER 4 Pointers and Dynamicarrys
CHAPTER 5 Linked Lists
CHAPTER 6 Software Development with Templates, Iterators, and the STL
CHAPTER 7 Stacks
CHAPTER 8 Queues
CHAPTER 9 Recursive Thinking
CHAPTER 10 Trees
CHAPTER 11 Balanced Trees
CHAPTER 12 Searching
CHAPTER 13 Sorting
CHAPTER 14 Derived Classes and Inheritance
CHAPTER 15 Graphs
Appendices
Index
Michael Main is an Associate Professor of Computer Science at the University of Colorado at Boulder. He earned his BS, MS, and PhD at Washington State University.
Walter Savitch is Professor Emeritus of Computer Science at the University of California at San Diego. His interests include complexity theory, formal language theory, computational linguistics, and the development of computer science education materials, including several leading textbooks. He holds a PhD in mathematics from the University of California at Berkeley.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â