/ informatics /


Primitive Data Structures

Type Description Example
Boolean A binary logic values (true/false) true
Integer A number without a fractional component 42
Float A rational number 13.452
Character A single character 'a'
String A sequence of characters "Hello"

Some languages include also complex numbers, sets, tuples.

Container (Advanced abstract data types)

A container is an abstrac data type which instances are collections of other objects. There are two types of containers:


An array is a collection of equal sized elements. The elements are stored in sequence, thus given the size of one element it is possible to jump directly to a specific element.

Record = Tuple = Struct

A record is a collection of fields, possibly of different data types, typically in fixed number and sequence.


A union is a structure that may have any of several representations or formats within the same position in memory


A set is an unordered collection with no duplicate elements.

List = Vector

A list is a chain of elements. Each element has a pointer to the next element, thus it does not matter where elements are stored. Elements can be inserted and removed dynamically at each position in the list.


A stack is a LIFO storage. Elements are added (push) and the latest added element is removed first (pop).


A stack is a FIFO storage. Elements are added (push) and the oldest added element is removed first (po)

Hash Tables

A hash table can grow dynamically put performs better than a list. Elements are stored as key-value pair.

Associative array = Map = Dictionary

An associative array is an abstract data type composed of (key, value) pairs, such that each possible key appears at most once in the collection.


A tree is a hierarchical data structure. It consists of nodes and each node can have one or more child nodes (recursion).


A graph is an abstract data type that is meant to implement the undirected graph and directed graph concepts from mathematics.