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.

NEWcovers 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.

Description

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.