So, what are abstract data types and data structures all about then?
Well, it’s about trees, and stacks, and lists, queues, deques, doubly linked lists, and heaps, graphs, digraphs, arrays, vectors; all those things. But those are just words (heaps, deque?) aren’t they? Here’s what the Computing Dictionary had to say about abstract data types: abstract data type (ADT) A type whose internal form is hidden behind a set of access functions. Objects of the type are created and inspected only by calls to the access functions. This allows the implementation of the type to be changed without requiring any changes outside the module in which it is defined. Abstract data types are central to object-oriented programming where every class is an ADT. A classic example of an ADT is a stack data type for which functions might be provided to create an empty stack, to push values onto a stack and to pop values from a stack. (22 Feb 1995) So, an abstract data type (adt) implements some property, but hides from the user (programmer) just how it is implemented. As an exam