Overview
Most algorithms use different methods of organizing the data involved in the
computation. Such data collection created are called data structure. For the same
data, different data structure require more or less space than others, and for the same
computation, different data structure lead to more or less efficient algorithms than
others.[2] Thus, the choice of algorithm and of a data structure usually go hand in
hand.
The fundamental building blocks of most data structures are array (a collection of
same type data that are stored continuously in memory can be accessed by index[2]),
reference (an object containing information which refers to data stored in memory, as
opposed to containing the data itself), record and union (a data structure used to
hold several different types). Other data structures, built on those basic building
blocks, are implemented to different kinds of applications, such as Linked List, Stack,
Queue, or Tree. Some data structure are highly specialized to certain tasks.