The Algorithms logo
The Algorithms
AboutDonate

Data Structures

Equilibrium Index in Array

Find Triplets with 0 Sum

Index 2d Array in 1d

Kth Largest Element

Median Two Array

Monotonic Array

Pairs with Given Sum

Binary Search Tree

Binary Search Tree Recursive

Binary Tree Node Sum

Binary Tree Path Sum

Binary Tree Traversals

Diameter of Binary Tree

Diff Views of Binary Tree

Flatten Binarytree to Linkedlist

Inorder Tree Traversal 2022

Lowest Common Ancestor

Maximum Fenwick Tree

Merge Two Binary Trees

Non Recursive Segment Tree

Number of Possible Binary Trees

Serialize Deserialize Binary Tree

Alternate Disjoint Set

Hash Table with Linked List

Quadratic Probing

Randomized Heap

Nearest Neighbour Search

Circular Linked List

Doubly Linked List

Doubly Linked List Two

Floyds Cycle Detection

Middle Element of Linked List

Rotate to the Right

Singly Linked List

Circular Queue Linked List

Double Ended Queue

Priority Queue Using List

Queue by Two Stacks

Queue on Pseudo Stack

Balanced Parentheses

Dijkstras Two Stack Algorithm

Infix to Postfix Conversion

Infix to Prefix Conversion

Lexicographical Numbers

Next Greater Element

Postfix Evaluation

Prefix Evaluation

Stack Using Two Queues

Stack with Doubly Linked List

Stack with Singly Linked List

Stock Span Problem

Local Maximom Point

Number Of Local Maximum Points

Key Priority Queue

Min Priority Queue

Merge Two Sorted Linked Lists

Reverse Singly Linked List

Singly Circular Linked List

Queue Using 2 Stacks

Evaluate Expression

Binary Search Tree 2

Circular Queue Using Linked List

Dsu Path Compression

Dsu Union Rank

Linked List

Linkedlist Implentation Usingarray

Morrisinorder

Queue Using Array

Queue Using Array 2

Queue Using Linked List

Queue Using Two Stacks

Reverse a Linked List

Stack Using Array

Stack Using Queue

Trie Using Hashmap

LWW Element Set

Disjoint Set Union

Dynamic Array

Bipartite Graph DFS

Boruvka Algorithm

Connected Component

Edmonds Blossom Algorithm

Johnsons Algorithm

Tarjans Algorithm

Generic Hash Map Using Array

Generic Hash Map Using Array List

Hash Map Cuckoo Hashing

Linear Probing Hash Map

Empty Heap Exception

Kth Element Finder

Merge K Sorted Arrays

Circle Linked List

Count Singly Linked List Recursion

Create And Detect Loop

Cursor Linked List

Merge K Sorted Linked List

Merge Sorted Array List

Merge Sorted Singly Linked List

Quick Sort Linked List

Rotate Singly Linked Lists

Search Singly Linked List Recursion

Sorted Linked List

Generic Array List Queue

Sliding Window Maximum

Stack Array List

BST From Sorted Array

BST Recursive Generic

Boundary Traversal

Ceil In Binary Search Tree

Check Binary Tree Is Valid BST

Check If Binary Tree Balanced

Check Tree Is Symmetric

Create Binary Tree From Inorder Preorder

Inorder Traversal

Level Order Traversal

Post Order Traversal

Pre Order Traversal

Print Top Viewof Tree

Same Trees Check

Tree Random Node

Vertical Order Traversal

Zigzag Traversal

Nearest Right Key

Recursive Traversals

Threaded Binary Trees

Transitive Closure

Ascending Priority Queue

Circular Doubly Linked List

Middle Element in List

Singly Link List Deletion

Floyds Algorithm

Range Minimum Query

Segment Tree Recursive

Cycle in Linked List

Find All Duplicates in an Array

Find the Highest Altitude

Get Products of All Other Elements

Maximum Product Subarray

Remove Elements

Richest Customer Wealth

Shortest Word Distance

Sort Squares of an Array

Sorted Arrays Intersection

Almost Palindrome Checker

Disjoint Sets

Unweighted Graph

Arrays Intersection

Splay Tree Rotations

Data Structure

Basic Binary Search Tree

Prefix Aggregate List

Undirected Graph