Data Abstraction & Problem Solving with C++: Walls and Mirrors, 7th edition

Published by Pearson (March 14, 2016) © 2017

  • Frank M. Carrano University of Rhode Island
  • Timothy M. Henry Rhode Island College

eTextbook

per month

  • Anytime, anywhere learning with the Pearson+ app
  • Easy-to-use search, navigation and notebook
  • Simpler studying with flashcards
$170.66

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks
For courses in C++ Data Structures

Concepts of Data Structures and Abstraction for C++ Programmers

The Seventh Edition of Data Abstraction & Problem Solving with C++: Walls and Mirrors introduces fundamental computer science concepts related to the study of data structures. The text explores problem solving and the efficient access and manipulation of data and is intended for students who already have a basic understanding of programming, preferably in C++.

The “walls and mirrors” mentioned in the title represent problem-solving techniques that appear throughout the text. Data abstraction hides the details of a module from the rest of the program, whereas recursion is a repetitive technique that solves a problem by solving smaller versions of the same problems, much as images in facing mirrors grow smaller with each reflection. Along with general changes to improve clarity and correctness, this Seventh Edition features new notes, programming tips, examples, and programming problems, as well as C++11 and C++14 features–including safe memory management using smart pointers–and safe and secure coding techniques.

About the Book

New and revised features keep the text clear and up-to-date

  • UPDATED! C++ code has been updated to follow professional conventions, including:
    • Exceptions are used rather than return values to signal unusual situations.
    • Safe and secure coding techniques are used, such as those found in SEI CERT Coding Standards.
    • C++11 and C++14 features are used where applicable.
  • REVISED! Revised figures improve overall clarity.
  • NEW! Technologically dated examples have been replaced with newer examples.
  • NEW! Notes and Programming Tips have been added throughout the text.
  • NEW! Programming problems in the areas of gaming, finance, and e-commerce have been added.
  • NEW! Security Notes represent a new element in the text.
  • NEW! A new C++ Interlude, "Safe Memory Management Using Smart Pointers,” introduces smart pointers, a C++11 feature. Chapters subsequent to this interlude use smart pointers.
  • UPDATED! Multicultural names are used when naming people in examples.

Provides a strong introduction to data abstraction

  • The distinction between specification and implementation is emphasised.
  • Extensive coverage of object-oriented programming techniques is featured.
  • Core data structures are featured, rather than non-essential C++ language syntax.
  • The role of classes and ADTs in the problem-solving process is illustrated.
  • Linked data coverage is made accessible through progressive discussion as the text introduces the ADTs bag, stack, and list.
  • “Walls and mirrors” represent problem-solving techniques related to data abstraction (walls) and recursion (mirrors), explored throughout the text.
  • C++ Interludes cover relevant C++ topics as needed between chapters.

  • Major applications of ADTs, such as searching a flight map, event-driven simulation, and the eight queens problem are featured

  • Use of the Standard Template Library (STL) with examples is included in most chapters.

  • An appendix, "Basic C++ Syntax,” is included for students who are making the transition from another language, such as Java or Python.

New and revised features keep the text clear and up-to-date

  • UPDATED! C++ code has been updated to follow professional conventions, including:
    • Exceptions are used rather than return values to signal unusual situations.
    • Safe and secure coding techniques are used, such as those found in SEI CERT Coding Standards.
    • C++11 and C++14 features are used where applicable.
  • REVISED! Revised figures improve overall clarity.
  • Technologically dated examples have been replaced with newer examples.
  • Notes and Programming Tips have been added throughout the text.
  • Programming problems in the areas of gaming, finance, and e-commerce have been added.
  • Security Notes represent a new element in the text.
  • A new C++ Interlude, "Safe Memory Management Using Smart Pointers,” introduces smart pointers, a C++11 feature. Chapters subsequent to this interlude use smart pointers.
  • UPDATED! Multicultural names are used when naming people in examples.

Brief Contents

  1. Data Abstraction: The Walls
  2. Recursion: The Mirrors
  3. Array-Based Implementations
  4. Link-Based Implementations
  5. Recursion as a Problem-Solving Technique
  6. Stacks
  7. Stack Implementations
  8. Lists
  9. List Implementations
  10. Algorithm Efficiency
  11. Sorting Algorithms and Their Efficiency
  12. Sorted Lists and Their Implementations
  13. Queues and Priority Queues
  14. Queue Implementations
  15. Trees
  16. Tree Implementations
  17. Heaps
  18. Dictionaries and Their Implementations
  19. Balanced Search Trees
  20. Graphs
  21. Processing Data in External Storage

Need help? Get in touch

Pearson+

All in one place. Pearson+ offers instant access to eTextbooks, videos and study tools in one intuitive interface. Students choose how they learn best with enhanced search, audio and flashcards. The Pearson+ app lets them read where life takes them, no wi-fi needed. Students can access Pearson+ through a subscription or their MyLab or Mastering course.

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.