About the Book
This classic book has been revised
to further enhance its focus on data abstraction and data structures using
C++. In this new edition, the clarity of the C++ language is enhanced,
along with coverage of the latest C++ features, including stronger use
of the Standard Template Library. This edition continues with Frank Carrano's
lucid writing style, widespread use of examples, and flexible coverage
of important topics.
Features
-
Provides extensive coverage of object-oriented
programming techniques.
-
Features a strong introduction to, and continuous
use of, data abstraction emphasizing the distinction between specification
and implementation.
-
Focuses on core data structures instead of
non-essential C++ language syntax.
-
Renowned for providing the best coverage of
recursion available.
-
Introduces analysis of algorithms and the
Big "O" notation.
-
Includes an appendix, "Basic C++ Syntax",
for students who are making the transition from another language to C++.
Related
Books
Data Structures - Programming
Courses (Data Structures)
Table of Contents
Chapter Dependency Chart.
I. PROBLEM-SOLVING TECHNIQUES.
1. Principles of Programming and
Software Engineering.
Problem Solving and Software Engineering.
Achieving A Modular Design.
A Summary of Key Issues in Programming.
2. Recursion: The Mirrors.
Recursive Solutions.
Counting Things.
Searching An Array.
Organizing Data.
Recursion And Efficiency.
3. Data Abstraction: The Walls.
Abstract Data Types.
Specifying ADTs.
Implementing ADTs.
4. Linked Lists.
Preliminaries.
Programming with Linked Lists.
Variations of the Linked List 206.
Application: Maintaining an Inventory.
The C++ Standard Template Library.
5. Recursion as a Problem-Solving
Technique.
Backtracking.
Defining Languages.
The Relationship between Recursion
and Mathematical Induction.
II. PROBLEM SOLVING WITH ABSTRACT
DATA TYPES.
6. Stacks.
The Abstract Data Type Stack.
Simple Applications Of The ADT Stack.
Implementations Of The ADT Stack.
Application: Algebraic Expressions.
Application: A Search Problem.
The Relationship between Stacks and
Recursion.
7. Queues.
The Abstract Data Type Queue.
Simple Applications of the ADT Queue.
Implementations of the ADT Queue.
A Summary Of Position-Oriented ADTs.
Application: Simulation.
8. Advanced C++ Topics.
Inheritance Revisited.
Virtual Functions and Late Binding.
Friends.
The ADTs List and Sorted List Revisited.
Class Templates.
Overloaded Operators.
Iterators.
9. Algorithm Efficiency and Sorting.
Measuring the Efficiency of Algorithms.
Sorting Algorithms and Their Efficiency.
10. Trees.
Terminology.
The ADT Binary Tree.
The ADT Binary Search Tree.
General Trees.
11. Tables and Priority Queues.
The ADT Table.
The ADT Priority Queue: A Variation
of the ADT Table.
12. Advanced Implementations of
Tables.
Balanced Search Trees.
Hashing.
Data with Multiple Organizations.
13. Graphs.
Terminology.
Graphs as ADTs.
Graph Traversals.
Applications of Graphs.
14. External Methods.
A Look at External Storage.
Sorting Data in an External File.
External Tables.
Appendices.
A. Review Of C++ Fundamentals.
B. Ascii Character.
C. C++ Header Files And Standard
Functions.
D. Mathematical Induction.
E. Standard Template Library.
Glossary.
Answers to Self-Test Exercises.
Index. |