Features
- emphasizes both the abstract and the concrete versions of a concept, so that students learn about the concept itself, its implementation, and its application.
- explains and analyzes algorithms showing step-by-step solutions to real problems.
- presents algorithms as intermediaries between English language descriptions and C programs. The algorithms:
- are written in C style, interspersed with English.
- allow students to focus on the method used to solve a problem without concern about declaration of variables and the peculiarities of real languages.
- In transforming an algorithm into a program, introduces these issues and points out the pitfalls which accompany them.
- implements each data structure in a variety of ways to show trade-offs and advantages.
- NEWcovers the C++ language.
- requires no specific background in C++.
- introduces the features of C++ in early chapters, showing how they can be used in implementing data structures.
- covers classes in C++, including function members, inheritance and object orientation, an example of implementing abstract data types in C++, as well as polymorphism.
- adds an implementation of stacks in C++ using templates, showing how complex data structures can be parameterized for different base types.
- shows how linked lists can be implemented in C++, showing the limitations, as well as the power, of encapsulation in implementing data structures. Also discusses C++ dynamic allocation and freeing of storage.
- contains a wealth of tested and debugged programs and algorithms.
- NEWrevises all C programs to meet ANSI standards.
- provides nearly 400 problems/exercises that vary widely in type and difficulty:
- drill exercises.
- exercises that require modification of programs or algorithms.
- more challenging exercises.
- groups of successive exercises that include the complete development of a new topic and that can be used as the basis for a term project.
- features a large bibliography of both C and C++ sources.
- Copyright 1996
- Edition: 2nd
-
Book
- ISBN-10: 0-13-036997-7
- ISBN-13: 978-0-13-036997-0
This introduction to the fundamentals of data structures explores abstract concepts, considers how those concepts are useful in problem solving, explains how the abstractions can be made concrete by using a programming language, and shows how to use the C language for advanced programming and how to develop the advanced features of C++. KEY TOPICS: Covers the C++ language, featuring a wealth of tested and debugged working programs in C and C++. Explains and analyzes algorithms — showing step- by-step solutions to real problems. Presents algorithms as intermediaries between English language descriptions and C programs. Covers classes in C++, including function members, inheritance and object orientation, an example of implementing abstract data types in C++, as well as polymorphism.
Table of Contents
1. Introduction to Data Structures.
2. The Stack.
3. Recursion.
4. Queues and Lists.
5. Trees.
6. Sorting.
7. Searching.
8. Graphs and Their Applications.
9. Storage Management.
Bibliography and References.
Index.