The Algorithms
Search any algorithm
About
Donate
Data Structures
Data Structures
/
Array
Equilibrium Index in Array
More
Data Structures
/
Array
Find Triplets with 0 Sum
More
Data Structures
/
Array
Index 2d Array in 1d
More
Data Structures
/
Array
Kth Largest Element
More
Data Structures
/
Array
Median Two Array
More
Data Structures
/
Array
Monotonic Array
More
Data Structures
/
Array
Pairs with Given Sum
More
Data Structures
/
Array
Permutations
More
Data Structures
/
Array
Prefix Sum
More
Data Structures
/
Array
Product Sum
More
Data Structures
/
Array
Sparse Table
More
Data Structures
/
Binary Tree
AVL Tree
+4
More
Data Structures
/
Binary Tree
Basic Binary Tree
More
Data Structures
/
Binary Tree
Binary Search Tree
+3
More
Data Structures
/
Binary Tree
Binary Search Tree Recursive
More
Data Structures
/
Binary Tree
Binary Tree Mirror
More
Data Structures
/
Binary Tree
Binary Tree Node Sum
More
Data Structures
/
Binary Tree
Binary Tree Path Sum
More
Data Structures
/
Binary Tree
Binary Tree Traversals
More
Data Structures
/
Binary Tree
Diameter of Binary Tree
More
Data Structures
/
Binary Tree
Diff Views of Binary Tree
More
Data Structures
/
Binary Tree
Distribute Coins
More
Data Structures
/
Binary Tree
Fenwick Tree
+1
More
Data Structures
/
Binary Tree
Flatten Binarytree to Linkedlist
More
Data Structures
/
Binary Tree
Floor and Ceiling
More
Data Structures
/
Binary Tree
Inorder Tree Traversal 2022
More
Data Structures
/
Binary Tree
Is Sorted
More
Data Structures
/
Binary Tree
Is Sum Tree
More
Data Structures
/
Binary Tree
Lazy Segment Tree
More
Data Structures
/
Binary Tree
Lowest Common Ancestor
More
Data Structures
/
Binary Tree
Maximum Fenwick Tree
More
Data Structures
/
Binary Tree
Maximum Sum Bst
More
Data Structures
/
Binary Tree
Merge Two Binary Trees
More
Data Structures
/
Binary Tree
Mirror Binary Tree
More
Data Structures
/
Binary Tree
Non Recursive Segment Tree
More
Data Structures
/
Binary Tree
Number of Possible Binary Trees
More
Data Structures
/
Binary Tree
Red Black Tree
More
Data Structures
/
Binary Tree
Segment Tree
+4
More
Data Structures
/
Binary Tree
Segment Tree Other
More
Data Structures
/
Binary Tree
Serialize Deserialize Binary Tree
More
Data Structures
/
Binary Tree
Symmetric Tree
More
Data Structures
/
Binary Tree
Treap
More
Data Structures
/
Binary Tree
Wavelet Tree
More
Data Structures
/
Disjoint Set
Alternate Disjoint Set
More
Data Structures
Disjoint Set
More
Data Structures
/
Hashing
Bloom Filter
More
Data Structures
/
Hashing
Double Hash
More
Data Structures
/
Hashing
Hash Map
More
Data Structures
/
Hashing
Hash Table
More
Data Structures
/
Hashing
Hash Table with Linked List
More
Data Structures
/
Hashing
/
Number Theory
Prime
+8
More
Data Structures
/
Hashing
Quadratic Probing
More
Data Structures
/
Heap
Binomial Heap
More
Data Structures
Heap
+1
More
Data Structures
/
Heap
Heap Generic
More
Data Structures
/
Heap
Max Heap
More
Data Structures
/
Heap
Min Heap
More
Data Structures
/
Heap
Randomized Heap
More
Data Structures
/
Heap
Skew Heap
More
Data Structures
/
Kd Tree
Build Kdtree
More
Data Structures
/
Kd Tree
/
Example
Example Usage
More
Data Structures
/
Kd Tree
/
Example
Hypercube Points
More
Data Structures
/
Kd Tree
Kd Node
More
Data Structures
/
Kd Tree
Nearest Neighbour Search
More
Data Structures
/
Linked List
Circular Linked List
More
Data Structures
/
Linked List
Deque Doubly
More
Data Structures
/
Linked List
Doubly Linked List
+5
More
Data Structures
/
Linked List
Doubly Linked List Two
More
Data Structures
/
Linked List
Floyds Cycle Detection
More
Data Structures
/
Linked List
From Sequence
More
Data Structures
/
Linked List
Has Loop
More
Data Structures
/
Linked List
Is Palindrome
+1
More
Data Structures
/
Linked List
Merge Two Lists
More
Data Structures
/
Linked List
Middle Element of Linked List
More
Data Structures
/
Linked List
Print Reverse
More
Data Structures
/
Linked List
Reverse K Group
More
Data Structures
/
Linked List
Rotate to the Right
More
Data Structures
/
Linked List
Singly Linked List
+3
More
Data Structures
/
Linked List
Skip List
More
Data Structures
/
Linked List
Swap Nodes
More
Data Structures
/
Queues
Circular Queue
More
Data Structures
/
Queues
Circular Queue Linked List
More
Data Structures
/
Queues
Double Ended Queue
More
Data Structures
/
Queues
Linked Queue
More
Data Structures
/
Queues
Priority Queue Using List
More
Data Structures
/
Queues
Queue by List
More
Data Structures
/
Queues
Queue by Two Stacks
More
Data Structures
/
Queues
Queue on Pseudo Stack
More
Data Structures
/
Stacks
Balanced Parentheses
More
Data Structures
/
Stacks
Dijkstras Two Stack Algorithm
More
Data Structures
/
Stacks
Infix to Postfix Conversion
More
Data Structures
/
Stacks
Infix to Prefix Conversion
More
Data Structures
/
Stacks
Lexicographical Numbers
More
Data Structures
/
Stacks
Next Greater Element
More
Data Structures
/
Stacks
Postfix Evaluation
More
Data Structures
/
Stacks
Prefix Evaluation
More
Data Structures
Stack
+4
More
Data Structures
/
Stacks
Stack Using Two Queues
More
Data Structures
/
Stacks
Stack with Doubly Linked List
More
Data Structures
/
Stacks
Stack with Singly Linked List
+3
More
Data Structures
/
Stacks
Stock Span Problem
More
Data Structures
Suffix Tree
More
Data Structures
/
Suffix Tree
Suffix Tree Node
More
Data Structures
/
Trie
Radix Tree
More
Data Structures
Trie
+3
More
Data Structures
/
Array
Local Maximom Point
More
Data Structures
/
Array
Number Of Local Maximum Points
More
Data Structures
/
Array
Reverse
More
Data Structures
Graph
+1
More
Data Structures
/
Graphs
Graph 2
More
Data Structures
/
Graphs
Graph 3
More
Data Structures
/
Heap
Binary Heap
More
Data Structures
/
Heap
Key Priority Queue
More
Data Structures
/
Heap
Min Priority Queue
More
Data Structures
/
Linked List
Add Two Numbers
More
Data Structures
/
Linked List
Cycle Detection
More
Data Structures
/
Linked List
Cycle Detection II
More
Data Structures
/
Linked List
Merge Two Sorted Linked Lists
More
Data Structures
/
Linked List
Reverse Singly Linked List
More
Data Structures
/
Linked List
Singly Circular Linked List
More
Data Structures
Queue
+3
More
Data Structures
/
Queues
Queue Using 2 Stacks
More
Data Structures
/
Stacks
Evaluate Expression
More
Data Structures
/
Stacks
Stack ES 6
More
Data Structures
/
Vectors
Vector 2
More
Data Structures
Binary Search Tree 2
More
Data Structures
Circular Queue Using Linked List
More
Data Structures
Cll
More
Data Structures
/
CLL
Main Cll
More
Data Structures
Dsu Path Compression
More
Data Structures
Dsu Union Rank
More
Data Structures
Linked List
+1
More
Data Structures
Linkedlist Implentation Usingarray
More
Data Structures
List Array
More
Data Structures
Morrisinorder
More
Data Structures
Node
More
Data Structures
Queue Using Array
More
Data Structures
Queue Using Array 2
More
Data Structures
Queue Using Linked List
More
Data Structures
Queue Using Two Stacks
More
Data Structures
Rb Tree
More
Data Structures
Reverse a Linked List
More
Data Structures
Stack Using Array
More
Data Structures
Stack Using Queue
More
Data Structures
Tree
More
Data Structures
Tree 234
More
Data Structures
Trie Modern
More
Data Structures
Trie Tree
More
Data Structures
Trie Using Hashmap
More
Data Structures
/
Bags
Bag
More
Data Structures
/
Buffers
Circular Buffer
More
Data Structures
/
Cache
MRU Cache
More
Data Structures
/
Crdt
G Counter
More
Data Structures
/
Crdt
G Set
More
Data Structures
/
Crdt
LWW Element Set
More
Data Structures
/
Crdt
OR Set
More
Data Structures
/
Crdt
PN Counter
More
Data Structures
/
Crdt
Two P Set
More
Data Structures
Disjoint Set Union
More
Data Structures
Dynamic Array
More
Data Structures
/
Graphs
Bipartite Graph DFS
More
Data Structures
/
Graphs
Boruvka Algorithm
More
Data Structures
/
Graphs
Connected Component
More
Data Structures
/
Graphs
Cycles
More
Data Structures
/
Graphs
Dijkstra Optimized Algorithm
More
Data Structures
/
Graphs
Edmonds Blossom Algorithm
More
Data Structures
Graphs
More
Data Structures
/
Graphs
Johnsons Algorithm
More
Data Structures
/
Graphs
Kahns Algorithm
More
Data Structures
/
Graphs
Matrix Graphs
More
Data Structures
/
Graphs
Tarjans Algorithm
More
Data Structures
/
Graphs
Welsh Powell
More
Data Structures
/
Hash Map
/
Hashing
Generic Hash Map Using Array
More
Data Structures
/
Hash Map
/
Hashing
Generic Hash Map Using Array List
More
Data Structures
/
Hash Map
/
Hashing
Hash Map Cuckoo Hashing
More
Data Structures
/
Hash Map
/
Hashing
Linear Probing Hash Map
More
Data Structures
/
Hash Map
/
Hashing
Main Cuckoo Hashing
More
Data Structures
/
Hash Map
/
Hashing
Majority Element
More
Data Structures
/
Hash Map
/
Hashing
Map
More
Data Structures
/
Heaps
Empty Heap Exception
More
Data Structures
/
Heaps
Fibonacci Heap
More
Data Structures
/
Heaps
Generic Heap
More
Data Structures
/
Heaps
Heap Element
More
Data Structures
/
Heaps
Kth Element Finder
More
Data Structures
/
Heaps
Leftist Heap
More
Data Structures
/
Heaps
Median Finder
More
Data Structures
/
Heaps
Merge K Sorted Arrays
More
Data Structures
/
List
Circle Linked List
More
Data Structures
/
List
Count Singly Linked List Recursion
More
Data Structures
/
List
Create And Detect Loop
More
Data Structures
/
List
Cursor Linked List
More
Data Structures
/
List
Merge K Sorted Linked List
More
Data Structures
/
List
Merge Sorted Array List
More
Data Structures
/
List
Merge Sorted Singly Linked List
More
Data Structures
/
List
Quick Sort Linked List
More
Data Structures
/
List
Random Node
More
Data Structures
/
List
Rotate Singly Linked Lists
More
Data Structures
/
List
Search Singly Linked List Recursion
More
Data Structures
/
List
Sorted Linked List
More
Data Structures
/
Queues
Deque
More
Data Structures
/
Queues
Generic Array List Queue
More
Data Structures
/
Queues
Priority Queues
More
Data Structures
/
Queues
Sliding Window Maximum
More
Data Structures
/
Queues
Token Bucket
More
Data Structures
/
Stacks
Node Stack
More
Data Structures
/
Stacks
Reverse Stack
More
Data Structures
/
Stacks
Stack Array
More
Data Structures
/
Stacks
Stack Array List
More
Data Structures
/
Tree
AVL Simple
More
Data Structures
/
Tree
BST From Sorted Array
More
Data Structures
/
Tree
BST Iterative
More
Data Structures
/
Tree
BST Recursive
More
Data Structures
/
Tree
BST Recursive Generic
More
Data Structures
/
Tree
Binary Tree
More
Data Structures
/
Tree
Boundary Traversal
More
Data Structures
/
Tree
Ceil In Binary Search Tree
More
Data Structures
/
Tree
Check Binary Tree Is Valid BST
More
Data Structures
/
Tree
Check If Binary Tree Balanced
More
Data Structures
/
Tree
Check Tree Is Symmetric
More
Data Structures
/
Tree
Create Binary Tree From Inorder Preorder
More
Data Structures
/
Tree
Generic Tree
More
Data Structures
/
Tree
Inorder Traversal
More
Data Structures
/
Tree
KD Tree
More
Data Structures
/
Tree
LCA
More
Data Structures
/
Tree
Level Order Traversal
More
Data Structures
/
Tree
Post Order Traversal
More
Data Structures
/
Tree
Pre Order Traversal
More
Data Structures
/
Tree
Print Top Viewof Tree
More
Data Structures
/
Tree
Quad Tree
More
Data Structures
/
Tree
Red Black BST
More
Data Structures
/
Tree
Same Trees Check
More
Data Structures
/
Tree
Splay Tree
More
Data Structures
/
Tree
Tree Random Node
More
Data Structures
/
Tree
Vertical Order Traversal
More
Data Structures
/
Tree
Zigzag Traversal
More
Data Structures
/
Tree
Nearest Right Key
More
Data Structures
/
Array
Carray
More
Data Structures
/
Binary Tree
Create Node
More
Data Structures
/
Binary Tree
Recursive Traversals
More
Data Structures
/
Binary Tree
Threaded Binary Trees
More
Data Structures
/
Binary Tree
Words Alphabetical
More
Data Structures
/
Dictionary
Dict
More
Data Structures
/
Dynamic Array
Main
More
Data Structures
/
Graphs
Bfs
More
Data Structures
/
Graphs
Bfs Queue
More
Data Structures
/
Graphs
Dfs
More
Data Structures
/
Graphs
Dfs Recursive
More
Data Structures
/
Graphs
Euler
More
Data Structures
/
Graphs
Hamiltonian
More
Data Structures
/
Graphs
Transitive Closure
More
Data Structures
Hash Set
More
Data Structures
/
Linked List
Ascending Priority Queue
More
Data Structures
/
Linked List
Circular Doubly Linked List
More
Data Structures
/
Linked List
Merge Linked Lists
More
Data Structures
/
Linked List
Middle Element in List
More
Data Structures
/
Linked List
Queue Linked List
More
Data Structures
/
Linked List
Singly Link List Deletion
More
Data Structures
List
More
Data Structures
/
Stacks
Dynamic Stack
More
Data Structures
/
Stacks
Parenthesis
More
Data Structures
Vector
More
Data Structures
Floyds Algorithm
More
Data Structures
/
Probabilistic
Count Min Sketch
More
Data Structures
Range Minimum Query
More
Data Structures
Segment Tree Recursive
More
Data Structures
Veb Tree
More
Data Structures
/
Hash Map
Hashing
More
Data Structures
/
Heap
/
Binary Heap
Min Heap Two
More
Data Structures
/
Queues
List Queue
More
Data Structures
/
Queues
Priority Queue
More
Data Structures
/
Stacks
Array Stack
More
Data Structures
/
Linked List
Cycle in Linked List
More
Data Structures
/
Linked List
Merge Sorted List
More
Data Structures
/
Array
3sum
More
Data Structures
/
Array
Add Digits
More
Data Structures
/
Array
Find All Duplicates in an Array
More
Data Structures
/
Array
Find the Highest Altitude
More
Data Structures
/
Array
Get Products of All Other Elements
More
Data Structures
/
Array
Good Pairs
More
Data Structures
/
Array
Max 69 Number
More
Data Structures
/
Array
Maximum Product Subarray
More
Data Structures
/
Array
Remove Elements
More
Data Structures
/
Array
Richest Customer Wealth
More
Data Structures
/
Array
Shortest Word Distance
More
Data Structures
/
Array
Single Number
More
Data Structures
/
Array
Sort Squares of an Array
More
Data Structures
/
Array
Sorted Arrays Intersection
More
Data Structures
/
Array
/
Strings
Almost Palindrome Checker
More
Data Structures
/
Array
/
Strings
Jewels and Stones
More
Data Structures
/
Array
/
Strings
Remove Vowels
More
Data Structures
/
Array
Two Sum Ii
More
Data Structures
/
Binary Tree
Bst
More
Data Structures
/
Binary Tree
Invert
More
Data Structures
Disjoint Sets
More
Data Structures
/
Graphs
Unweighted Graph
More
Data Structures
/
Graphs
Weighted Graph
More
Data Structures
/
Hash Table
Arrays Intersection
More
Data Structures
/
Hash Table
Common Characters
More
Data Structures
/
Hash Table
Uncommon Words
More
Data Structures
/
AVL Tree
AVL Tree Node
More
Data Structures
/
AVL Tree
Tree Traversal
More
Data Structures
/
Binary Search Tree
BST Node
More
Data Structures
/
Binary Search Tree
Duplicate Key Exception
More
Data Structures
/
Disjoint Set
Disjoint Set Node
More
Data Structures
/
Segment Tree
Segment Tree Node
More
Data Structures
/
Splay Tree
Splay Tree Node
More
Data Structures
/
Splay Tree
Splay Tree Rotations
More
Data Structures
/
Trie
Trie Node
More
Data Structures
Data Structure
More
Data Structures
/
Binary Tree
Basic Binary Search Tree
More
Data Structures
/
Binary Tree
Splay
More
Data Structures
Linked Deque
More
Data Structures
Median Heap
More
Data Structures
Prefix Aggregate List
More
Data Structures
Sorted Set
More
Data Structures
/
Sorted Set
Sorted Table
More
Data Structures
Table Heap
More
Data Structures
Table List
More
Data Structures
Table Stack
More
Data Structures
Undirected Graph
More
Data Structures
/
Queues
Array Queue
More
Data Structures
/
Queues
Stack Queue
More
Data Structures
/
Set
Hash Map Set
More
Data Structures
/
Set
Map Set
More
Data Structures
Tries
More
© The Algorithms 2024
What is an algorithm?
About us
Programming Languages
Contribute
Donate
GitHub
Gitter
X
Source code
Contact