An abstract data type (ADT) is a logical description of how the data should be structured and what operations can be performed on it. It does not specify any particular implementation details, such as the type of data structure used to store the data or the algorithms used for manipulating the data. An ADT defines the interface that must be provided by an implementation of the data type.
An implementation of an ADT is a concrete representation of the data type that includes all the necessary code to support the operations specified in the ADT. This includes the specific data structures and algorithms used to store and manipulate the data, as well as other supporting code such as error handling routines. The implementation must adhere to the requirements defined in the AD