The Algorithms
Search any algorithm
About
Donate
Go
GitHub repository
undefined
Constraints
More
Knapsack
+2
More
Backtracking
Backtracking
Subset Sum
More
Backtracking
Generate Parentheses
More
Backtracking
Combination
More
Bit Manipulation
Bit Manipulation
Reverse Bits
More
Cache
Cache
Lru
More
Checksum
Checksum
Crc 8
More
Ciphers
Ciphers
Base 64
More
Ciphers
Polybius
More
Ciphers
Rot 13
More
Ciphers
RSA
More
Ciphers
XOR Cipher
+2
More
Ciphers
Caesar
More
Ciphers
Transposition
More
Ciphers
/
Diffiehellman
Diffiehellmankeyexchange
More
Compression
Compression
Huffmancoding
More
Conversions
Conversions
Integer To Roman
More
Conversions
Roman To Integer
More
Conversions
Decimal to Binary
+4
More
Conversions
Rgbhex
More
Conversions
Binary to Decimal
+3
More
Data Structures
Data Structures
/
Hashing
/
Number Theory
Prime
+7
More
Data Structures
/
Graphs
Bfs
More
Data Structures
Graph
More
Data Structures
/
Binary Tree
Lowest Common Ancestor
More
Data Structures
Graph
More
Data Structures
/
Linked List
Is Palindrome
+1
More
Data Structures
/
Stacks
Parenthesis
More
Data Structures
/
Linked List
Singly Linked List
+3
More
Data Structures
/
Stacks
Stack Array
More
Data Structures
/
Stacks
Stack with Singly Linked List
+3
More
Data Structures
/
Linked List
Queue Linked List
More
Data Structures
/
Binary Tree
Segment Tree
+3
More
Data Structures
/
Hashing
Hash Map
More
Data Structures
Trie
More
Data Structures
Dynamic Array
More
Data Structures
Heap
+1
More
Data Structures
/
Binary Tree
AVL Tree
+2
More
Data Structures
Rb Tree
More
Data Structures
Tree
More
Divide and Conquer
Divide and Conquer
Mergesort
+18
More
Divide and Conquer
Max Subarray Sum
More
Dynamic
Dynamic
Longestincreasingsubsequencegreedy
More
Dynamic Programming
Dynamic Programming
Floyd Warshall
+2
More
Dynamic Programming
Coin Change
+4
More
Dynamic Programming
Longest Common Subsequence
+1
More
Dynamic Programming
Rod Cutting
More
Dynamic Programming
Longest Increasing Subsequence
More
Dynamic Programming
Edit Distance
+1
More
Dynamic Programming
Longest Palindromic Subsequence
More
Dynamic Programming
Abbreviation
More
Graphs
Graphs
Articulation Points
More
Graphs
Breadth First Search
+3
More
Graphs
/
Coloring
Bipartite
More
Graphs
/
Coloring
Backtracking
More
Graphs
Topological
More
Graphs
Bellman Ford
+2
More
Graphs
Dijkstra
+2
More
Graphs
Kruskal
More
Graphs
Depth First Search
+4
More
Hashing
Hashing
Sha 256
More
Hashing
Luhn
More
Math
Math
Armstrong Number
+7
More
Math
Perfect Number
More
Math
Catalan Number
More
Math
/
PI
Montecarlopi
More
Math
/
PI
Spigotpi
More
Math
Mobius
More
Math
/
Geometry
Straightlines
More
Math
/
Geometry
Distance
More
Math
Binomial Coefficient
More
Math
/
Gcd
Extended
More
Math
/
Gcd
Extendedgcditerative
More
Math
GCD
More
Math
/
Gcd
Gcditerative
More
Math
/
Gcd
Extendedgcd
More
Math
Pythagoras
More
Math
Euler's Totient
+1
More
Math
/
Moserdebruijnsequence
Sequence
More
Math
Prime Factorization
More
Math
/
Prime
Twin
More
Math
/
Prime
Millerrabintest
More
Math
/
Prime
Sieve
More
Math
Liouville
More
Math
Sin
More
Math
Abs
+4
More
Math
Checkisnumberpoweroftwo
More
Math
/
Power
Fastexponent
More
Math
/
Power
Powvialogarithm
More
Math
Doc
More
Math
/
Permutation
Heaps
More
Math
Fibonacci Numbers
+10
More
Math
Pronic Number
More
Math
Mode
More
Math
Cos
More
Math
LCM
+2
More
Math
Min
More
Math
/
Min
Bitwisemin
More
Math
/
Modular
Exponentiation
More
Math
/
Modular
Inverse
More
Math
Aliquot Sum
+3
More
Math
Lerp
More
Math
Median
More
Math
Pollard
More
Math
Kthnumber
More
Math
/
Binary
Logarithm
More
Math
/
Binary
Bitcounter
More
Math
Abs
+4
More
Math
Checkisnumberpoweroftwo
More
Math
/
Series
Arithmetic Mean
More
Math
/
Binary
Rbc
More
Math
/
Binary
Xorsearch
More
Math
/
Binary
Sqrt
More
Math
Factorial
+11
More
Math
/
Max
Bitwisemax
More
Math
Max
More
Math
Doc
More
Math
Doc
More
Math
Doc
More
Math
Doc
More
Math
Doc
More
Math
Doc
More
Math
Doc
More
Math
Matrix Multiplication
More
Math
Catalan
More
Math
Binomial Coefficient
More
Math
Fibonacci Numbers
+10
More
Math
Doc
More
Math
Doc
More
Math
Doc
More
Math
Doc
More
Math
Doc
More
Matrix
Matrix
Pascal Triangle
More
Numerical Methods
Numerical Methods
Mean
More
Others
Others
Krishnamurthy
More
Others
Greedy
More
Others
/
Password
Generator
More
Others
Nested Brackets
More
Others
KMP
More
Searches
Searches
Binary
More
Searches
Errors
More
Searches
Interpolation
More
Searches
Jump
More
Searches
Linear
More
Searches
Testcases
More
Searches
Selectk
More
Searches
Ternary
More
Searches
Jump 2
More
Sorts
Sorts
Selection Sort
+13
More
Sorts
Insertion Sort
+17
More
Sorts
Comb Sort
+7
More
Sorts
Cycle Sort
+4
More
Sorts
Exchange Sort
More
Sorts
Pigeonhole Sort
+2
More
Sorts
Counting Sort
+6
More
Sorts
Quick Sort
+18
More
Sorts
Shell Sort
+8
More
Sorts
Radix Sort
+8
More
Sorts
Bubble Sort
+18
More
Sorts
Bucket Sort
+4
More
Sorts
Simple Sort
More
Sorts
Pancake Sort
+5
More
Sorts
Heap Sort
+12
More
Sorts
Patience Sort
More
Strings
Strings
Is Isogram
More
Strings
Horspool
More
Strings
/
Manacher
Longestpalindrome
More
Strings
Levenshtein Distance
+1
More
Strings
Genetic
More
Strings
Guid
More
Strings
Is Pangram
More
Strings
Boyer Moore
More
Strings
/
Searches
Naive
More
Strings
Bom
More
Strings
Aho Corasick
More
Strings
/
Aho-Corasick
Advancedahocorasick
More
Strings
/
Aho-Corasick
Shared
More
Strings
Charoccurrence
More
Strings
/
Aho-Corasick
Shared
More
Structure
Structure
Set
More
Structure
/
Linked List
Cyclic
More
Structure
/
Linked List
Doubly
More
Structure
/
Stacks
Stack Linked List with List
More
Structure
/
Queues
Queuelinklistwithlist
More
Structure
/
Queues
Queuearray
More
Structure
/
Tree
Bstree
More
© The Algorithms 2023
What is an algorithm?
About us
Programming Languages
Contribute
Donate
GitHub
Gitter
Twitter
Source code
Contact