title=Programming Concepts: Abstract data types and data structures
In Computer Science an abstract data type (ADT) is a mathematical model for a certain data types or structures. This doesn't mean that the ADTs can't be programmed, but that we must first understand them mathematically before we can implement them. ADTs are generally complex things that you have functions and procedures to interface with.
Several of the ADTs we are going to look at will be 'dynamic', this means that they can change in size at run time, taking up more or less memory depending on the what is needed