A sorting algorithm is used to arrange elements of an array/list in a specific order. In this article, you will learn what sorting algorithm is and different sorting algorithms.

A greedy algorithm is an approach for solving a problem by selecting the best option available at the moment, without worrying about the future result it would bring.

Dijkstra's Algorithm differs from minimum spanning tree because the shortest distance between two vertices might not include all the vertices of the graph.

A Hash Table data structure stores elements in key-value pairs. In this tutorial, you will learn about the working of the hash table data structure along with its implementation in Python, Java, C, and C++.

Stack Data Structure and Implementation in Python, Java and C/C++

A stack is a useful data structure in programming. It is just like a pile of plates kept on top of each other. In this tutorial, you will understand the working of Stack and it's implementations in Python, Java, C, and C++.

Circular queue avoids the wastage of space in a regular queue implementation using arrays. In this tutorial, you will understand circular queue data structure and it's implementations in Python, Java, C, and C++.

In this tutorial, you will learn what a double ended queue (deque) is. Also, you will find working examples of different operations on a deque in C, C++, Java and Python.

Queue Data Structure and Implementation in Java, Python and C/C++

A queue is a useful data structure in programming. It is similar to the ticket queue outside a cinema hall, where the first person entering the queue is the first person who gets the ticket. In this tutorial, you will understand the queue data structure and it's implementations in Python, Java, C, and C++.

A priority queue is a special type of queue in which each element is associated with a priority and is served according to its priority. In this tutorial, you will understand the priority queue and its implementations in Python, Java, C, and C++.

A linked list is a random access data structure. Each node of a linked list includes the link to the next node. In this tutorial, we will learn about the linked list data structure and its implementations in Python, Java, C, and C++.

Heap data structure is a complete binary tree that satisfies the heap property. In this tutorial, you will understand heap and its operations with working codes in C, C++, Java, and Python.

A divide and conquer algorithm is a strategy of solving a large problem by breaking the problem it into smaller sub-problems, solving the sub-problems and combining them to get the desired output. In this tutorial, you will understand the working of divide and conquer approach with an example.

A tree is a nonlinear hierarchical data structure that consists of nodes connected by edges. In this tutorial, you will learn about different types of trees and the terminologies used in tree.

A graph data structure is a collection of nodes that have data and are connected to other nodes. In this tutorial, you will understand different representations of graph.