Always Learning

Data Abstraction & Problem Solving with C++, 5/E
Frank CarranoUniversity of Rhode Island

ISBN-10: 0321433327
ISBN-13:  9780321433329

Publisher:  Prentice Hall
Copyright:  2007
Format:  Paper; 992 pp
Published:  07/14/2006
Status: Instock


Customers outside the U.S., click here.


Print this content

In this section:


Description

The classic, best-selling Data Abstraction and Problem Solving with C++: Walls and Mirrors book provides a firm foundation in data abstraction that emphasizes the distinction between specifications and implementation as the basis for an object-oriented approach. This new edition offers the latest C++ features and an introduction to using Doxygen––a documentation generator for C++, enhanced coverage of Software Engineering concepts and additional UML diagrams. 


Frank’s Making it Real blog http://frank-m-carrano.com/blog/ extends his textbooks and lectures to a lively discussion with instructors and students about teaching and learning computer science.


Follow Frank on Twitter: http://twitter.com/Frank_M_Carrano

Find him on Facebook: https://www.facebook.com/makingitreal



Features

  • Provides a strong introduction to, and continuous use of, data abstraction emphasizing the distinction between specification and implementation
  • Features extensive coverage of object-oriented programming techniques
  • Focuses on core data structures instead of non-essential C++ language syntax
  • Illustrates the role of classes and ADTs in the problem-solving process
  • Includes major applications of ADTs, such as searching a flight map, event-driven simulation, and the eight queens problem
  • Covers the use of the Standard Template Library (STL) with examples included in most chapters
  • Provides the best coverage of recursion available
  • Includes an appendix, "Basic C++ Syntax", for students who are making the transition from another language to C++


New To This Edition

  • All code tested to ensure compliance with ANSI C++ standards
  • An introduction to using Doxygen, a documentation generator for C++ that is similar Javadoc
  • Enhanced coverage of Software Engineering concepts
  • Added techniques for testing software

  • Increased number of UML diagrams


Table of Contents

Preface

Chapter Dependency Chart

 

PART ONE - Problem-Solving Techniques

1 Principles of Programmingand Software Engineering

1.1Software Engineering and Object-Oriented Design

1.2 Achieving a Better Solution

1.3 Key Issues in Programming

 

2 Recursion: The Mirrors

2.1 Recursive Solutions

2.2 Counting Things

2.3 Searching an Array

2.4 Organizing Data

2.5 Recursion and Efficiency

 

3 Data Abstraction: The Walls

3.1 Abstract Data Types

3.2 Specifying ADTs

3.3 Implementing ADTs

 

4 Linked Lists

4.1 Preliminaries

4.2 Programming with Linked Lists

4.3 Variations of the Linked List

4.4 Application: Maintaining an Inventory

4.5 The C++ Standard Template Library

 

5 Recursion as a Problem-Solving Technique

5.1 Backtracking

5.2 Defining Languages

5.3 The Relationship Between Recursionand Mathematical Induction

 

PART TWO Problem Solving with Abstract Data Types

6 Stacks

6.1 The Abstract Data Type Stack

6.2 Simple Applications of the ADT Stack

6.3 Implementations of the ADT Stack

6.4 Application: Algebraic Expressions

6.5 Application: A Search Problem

6.6 The Relationship Between Stacks and Recursion

 

7 Queues

7.1 The Abstract Data Type Queue

7.2 Simple Applications of the ADT Queue

7.3 Implementations of the ADT Queue

7.4 A Summary of Position-Oriented ADTs

7.5 Application: Simulation

 

8 Advanced C++ Topics

8.1 Inheritance Revisited

8.2 Virtual Methods and Late Binding

8.3 Friends

8.4 The ADTs List and Sorted List Revisited

8.5 Class Templates

8.6 Overloaded Operators

8.7 Iterators

 

9 Algorithm Efficiency and Sorting

9.1 Measuring the Efficiency of Algorithms

9.2 Sorting Algorithms and Their Efficiency

 

10 Trees

10.1 Terminology

10.2 The ADT Binary Tree

10.3 The ADT Binary Search Tree

10.4 General Trees

 

11 Tables and Priority Queues

11.1 The ADT Table

11.2 The ADT Priority Queue: A Variation of the ADT Table

11.3 Tables and Priority Queues in the STL

 

12 Advanced Implementations of Tables

12.1 Balanced Search Trees

12.2 Hashing

12.3 Data with Multiple Organizations

 

13 Graphs

13.1 Terminology

13.2 Graphs as ADTs

13.3 Graph Traversals

13.4 Applications of Graphs

 

14 Processing Data in External Storage

14.1 A Look at External Storage

14.2 Sorting Data in an External File

14.3 External Tables

 

A  Review of C++ Fundamentals

B  ASCII Character Codes

C  C++ Header Files and Standard Functions

D  Mathematical Induction

E  Standard Template Library

F  C++ Documentation Systems

 

 



Back to top

Print this content

In this section:


Author Bios

Frank M. Carrano is a professor emeritus of computer science at the University of Rhode Island. He received the Ph.D. degree in computer science from Syracuse University in 1969. His interests include data structures, computer science education, social issues in computing, and numerical computation. Professor Carrano is particularly interested in the design and delivery of undergraduate courses in computer science. He has authored several well-known computer science textbooks for undergraduates.


Frank’s Making it Real blog http://frank-m-carrano.com/blog/ extends his textbooks and lectures to a lively discussion with instructors and students about teaching and learning computer science.


Follow Frank on Twitter: http://twitter.com/Frank_M_Carrano

Find him on Facebook: https://www.facebook.com/makingitreal



Backcover Copy

Data Structures/C++

 

Data Abstraction and Problem Solving with C++: Walls and Mirrors

Frank M. Carrano, University of Rhode Island

 

This fifth edition of the classic, best-selling book Data Abstraction and

Problem Solving with C++: Walls and Mirrors continues to offer students a superior foundation in data abstraction, object-oriented programming, and problem-solving techniques. The focus is on core abstract data types with the consistent use of data abstraction emphasizing the distinction between specification and implementation.

Fifth Edition highlights:

Completely revised software engineering concepts to conform with modern practice

NEW! Introduces techniques for testing software

NEW! Presents ADT (abstract data type) behaviors as operation contracts

Includes extensive coverage of object-oriented programming techniques

NEW! Includes an introduction to Doxygen, a documentation generator for

C++ that is similar to Javadoc

Contains major applications of ADTs, such as searching a flight map, event-driven simulation, and the eight queens problem

Covers the use of the Standard Template Library (STL), with examples included in most chapters

Updated all C++ code to ensure compliance with the latest ANSI standards

Includes “Review of C++ Fundamentals” appendix for students who are making the transition to C++ from another language

 

Addison-Wesley Computing

Leading Authors Quality Products

Visit aw.com/computing for more information about Addison-Wesley computing books.

 

ISBN 0-321-43332-7

Back to top

Print this content

In this section:

Instructor's Manual with Solutions for Data Abstraction & Problem Solving with C++, 5/E
Carrano
©2007  |  Prentice Hall  |  On-line Supplement  |  Live
ISBN-10: 0321444248  |  ISBN-13: 9780321444240

Show Downloadable Files
 | More Info

Powerpoints for Data Abstraction & Problem Solving with C++, 5/E
Carrano
©2007  |  Prentice Hall  |  On-line Supplement  |  Live
ISBN-10: 0321440889  |  ISBN-13: 9780321440884

Show Downloadable Files
 | More Info

Source Code for Data Abstraction & Problem Solving with C++, 5/E
Carrano
©2007  |  Prentice Hall  |  On-line Supplement  |  Live
ISBN-10: 0321440897  |  ISBN-13: 9780321440891

Show Downloadable Files
 | More Info

Test Bank for Data Abstraction & Problem Solving with C++, 5/E
Carrano
©2007  |  Prentice Hall  |  On-line Supplement  |  Live
ISBN-10: 0321445953  |  ISBN-13: 9780321445957

Show Downloadable Files
 | More Info

Back to top


Websites and online courses

CS Support-Student Support Material
Addison-Wesley
©2008  |  Prentice Hall  |  On-line Supplement  |  Live
ISBN-10: 0321446852  |  ISBN-13: 9780321446855
More Info

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.

Package ISBN-10: 0321499506 | ISBN-13: 9780321499509
©2007 | Instock
Suggested retail price: $135.00  Buy from myPearsonStore

This package contains:

Carrano | ©2007 | Addison-Wesley | Paper; 992 pp
DePasquale | ©2006 | Addison-Wesley | Paper; 96 pp


Back to top