Data Structures


    A typical High Level computer language provides Data Types.
    This allows different types of data such as Numbers and Strings to be recognised.

    Strange results can be produced if data of one type is treated as another type.
    Two telephone numbers can be added together but the answer has no meaning.

    An Abstract Data Type restricts the operations that are valid for a Data Type.
    The ADT for telephone numbers would not provide a method to add them together.

    Complicated ADTs can be based on simpler ADTs.
    Ultimately, the ADT has to be implemented as a real Data Structure.
    Two Data Structures are considered to be Foundational:
    - Array Data Structures
    - Linked List Data Structures

    Array Data Structures are the simplest and fastest.
    Linked List Data Structures usually make less demand on memory.
    Hybrid Data Stuctures, using some combination of both, are also possible.