Data structures are ways of organizing and storing data in a computer so that it can be accessed and modified efficiently. They are broadly classified into two main types:
Linear Data Structures:
In linear data structures, elements are arranged in a sequential or linear order. Each element is connected to its previous and next element.
Array: A collection of elements of the same type stored at contiguous memory locations.
Linked List: A collection of nodes where each node contains data and a pointer to the next node. They do not need to be in contiguous memory.
Stack: A linear structure that follows the Last-In, First-Out (LIFO) principle.
Queue: A linear structure that follows the First-In, First-Out (FIFO) principle.
Non-Linear Data Structures:
In non-linear data structures, elements are not arranged in a sequential order. Each element can be connected to one or more other elements, representing a hierarchical relationship.
Tree: A hierarchical structure with a root node and subtrees of children with a parent-child relationship. A binary tree is a common example.
Graph: A collection of vertices (nodes) and edges that connect pairs of vertices. Unlike trees, graphs can have cycles.