In Computer Science, a data structure is a way of organizing information, so that it is easier to use. Data structures determine the way in which information can be used. If the focus of use is on the operations that can be performed, people often talk about an abstract data type (ADT). Data structures are often optimised for certain operations. Finding the best data structure when solving a problem is an important part of programming. Programs that use the right data structure are easier to make, and perform better.
Basic data structures [change]
An array holds several values of the same kind. Accessing the elements is very fast. It may not be possible to add more values than defined at the start, without copying all values into a new array.
A List can hold several values. Each item in the list has a way of telling where the next element is; some lists can also tell where the previous element is. It is very easy to add a new element at the start of the list; telling whether an element is already in the list is more difficult, and needs going through all elements of a list.
A stack is like a list, but elements can only be added and removed at one end. In addition to adding ('push') or removing ('pop') an element, there's often an operation to look at top of the stack, without removing the element ('peek').
A queue is like a list, but the elements can only be accessed in the same order they were added.
A graph allows to associate several elements. The elements are usually called vertices (one vertex, several vertices), the connections called edges.
Trees are special Graphs, where there is only one way between any two vertices.