Abstract Data Type: defines the interface a data type.
From Shaffer (1.2): The interface of the ADT is defined in terms of a type and a set of
operations on that type. The behavior of each operation is determined by its inputs
and outputs. An ADT does not specify how the data type is implemented. These
implementation details are hidden from the user.
Data structure is the implementation of an ADT.
Different implementations may have different time complexities.
ADTs and corresponding data structures
- List. Operations: Insert(L, i), Delete(L, i), Find(L, x). Implementations: Array based, Singly linked list, Doubly linked list.
- Stack
- Queue
- Heap
- Hash table
- Tree
- Graph