- 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
- 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.
4. Queues and Lists.
8. Graphs and Their Applications.
9. Storage Management.
Bibliography and References.