A data structure is a particular way of organizing data in the memory. The main aim of a data structure is to group similar/related items together and bundle them, hence making it easier and efficient to execute the program. Now let us look at the different types of data structures.
A Data Structure is classified into two categories.
- Linear Data Structure
- Non-Linear Data Structure
Linear Data Structures Vs Non-Linear Data Structures
Now let us look at the difference between Linear and Non-Linear data structures.
|LINEAR DATA STRUCTURE||NON-LINEAR DATA STRUCTURE|
|Data is arranged in a linear fashion in which elements are linked one after the other.||Data elements in a non-linear data structure are hierarchically related.|
|All the data elements can be traversed in one go, but at a time only one element is directly reachable.||All the data elements cannot be traversed in one go as the nodes are not visited sequentially.|
|Linear data structure tends to waste the memory.||Efficient utilization of memory.|
|Linear data structures are easy to implement.||Implementation of non-linear data structures is complex.|
|Array, Queue, Stack, Linked List are linear data structures.||Trees, graphs are non-linear data structures.|
Now let us try to get a basic understanding of each of these linear and non-linear data structures.
- An Array is a collection of data items having similar data types.
- A Linked list is a collection of nodes, where each node has a data element and a reference to the next node in the sequence.
- A Stack is a FILO (First In Last Out) data structure where the element that is added first will be deleted last.
- A Queue is a FIFO (First in First Out) data structure where the element that added is first will be deleted first.
- A Tree is a collection of nodes where these nodes are arranged hierarchically and form a parent-child relationship.
- A Graph is a collection of a finite number of vertices and edges. Edges connect the vertices and represent the relationship between the vertices that connect these vertices.