An ADT is a mathematical model of a data structure that specifies the type of data stored, the operations supported on them, and the types of parameters of the operations . An ADT specifies what each operation does, but not how it does it. Typically, an ADT can be implemented using one of many different data structures.