Data Structures are special mechanisms in computer programming which help us in storing and retrieving data in different ways. For example, if we wish to store the list of all persons invited for an event, we might use an array data structure which holds all the data sequentially. However if we need to quickly determine if a particular person is invited the event, we might use a better alternative like hash maps.

In this section, we will go through most of the basic and advanced types of data structures and look at scenarios where each type of data structure excel in. Below are all the data structures explained so far:

## Array Data Structure

An array is a very basic data structure used to efficiently store and manage a collection of elements by using a continuous block of computer memory. This memory used by an array is divided into a series of sequential compartments, or slots and each slot can store a single item of information.
Read More
## Linked List Data Structure

A Linked list is a data structure which can store a collection of items. All the items in a linked list are stored in the form of a sequence made up of multiple nodes. Each node stores a value/item and also points out (links) to the next node in the sequence.
Read More
## Hash Table Data Structure

A Hash table (also known as a hash map) is a data structure used to store a set of items and retrieve any stored item quickly using key associated with the item. Every item stored in a hash table is stored against a key unique to the item.
Read More
## Stack Data Structure

A stack is an abstract data structure which is used to store a collection of elements with the ability to add or remove elements at only one endpoint (often called the top). Due to this property of a stack which restricts addition or removal of elements only from one end, a stack is also known as a Last In First Out (LIFO) data structure.
Read More
## Queue Data Structure

Queue is an abstract data structure which can be visualized as a line of people waiting in a queue, where the first person to arrive is the first one to be served. New persons joining the queue will be served only after all persons already in the queue are served.
Read More
## Binary Tree Data Structure

A binary tree is a type of tree data structure which stores collection of items in a hierarchical format. Unlike all the other data structures we have seen so far like arrays, linked lists, stacks etc which are linear, binary trees are two dimensional.
Read More
## Binary Search Tree

A binary search tree is a type of binary tree data structure where every node in the binary tree confirms to the below properties:
For any given node in a binary search tree
The left child’s value is smaller than the current node’s value The right child’s value is more than the current node’s value (If you are new to binary tree’s I suggest you to go through this article first)
Read More
## Advanced Tree related data structures structures

This section covers some of the more complicated tree related data structures. Below are all of them:
Binary Heap Data Structure A Binary heap is a data structure used to efficiently find the maximum or minimum element among a collection of elements.
Read More
## Graph Data Structure

A graph in computer science is a data structure which expresses connections between different objects. Many common problems like finding shortest path among all possible paths between two destinations, finding the order in which courses have to be taken when there are pre-requisite courses for each course etc.
Read More