An abstract data type
(ADT) defines a data structure in terms of the operations that can be performed on it rather than in terms of a specific implementation.
It separates what the data structure does from how it does it.
For instance, linked lists and growable arrays
are simply two different implementations of the same linear list ADT since the operations that can be performed on each are the same.
In computer science, an abstract data type (ADT) is a mathematical model for a certain class of data structures that have similar behavior.
An abstract data type is defined indirectly, only by the operations that may be performed on it and by mathematical constraints on the effects of those operations.
However, the concrete implementation
- linked list or
- growable array
affects the performance characteristics of the ultimate code.