Abstract data structure

This is an old revision of this page, as edited by 69.157.233.121 (talk) at 08:06, 9 November 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In theoretical computer science, an abstract data structure is an abstract storage for data defined in terms of the set of operations to be performed on data and computational complexity for performing these operations, regardless the implementation in a concrete data structure.

Selection of an abstract data structure is crucial in design of efficient algorithms and in estimating their computational complexity, while selection of concrete data structures is important for efficient implementation of algorithms.

This notion is very close to that of Abstract data type (ADT), used in theory of programming languages. A close notion of data model additionally considers the pattern of interrelations between data elements (structure of the data structure, however awkward that may sound).

The names of many abstract data structures (and abstract data types) match the names of concrete data structures.