The Algorithms logo
The Algorithms
AboutDonate
Backtracking

All Combination of Size K

Sudoku Solver

Big Integer

Fast Factorial

Hello Bigmath

Blockchain

Chinese Remainder Theorem

Ciphers

Another Rot 13

Blake 2b

Diffie Hellman

Hashing Traits

Kerninghan

Morse Code

Polybius

Rail Fence

Theoretical Rot 13

Transposition

Vigenere

XOR Cipher

Compression

Run Length Encoding

Run Length Encoding

Conversions

Binary to Decimal

Decimal to Binary

Data Structures
Divide and Conquer
Dynamic Programming

Fibonacci Numbers

+10

More

Longest Common Subsequence

Longest Common Substring

Longest Continuous Increasing Subsequence

Longest Increasing Subsequence

Matrix Chain Multiply

Maximum Subarray

Minimum Cost Path

Subset Generation

Floyd Warshall

Financial
General

Huffman Encoding

Steinhaus Johnson Trotter

Geometry

Closest Points

Jarvis Scan

Graphs

Bellman Ford

Bipartite Matching

Breadth First Search

Centroid Decomposition

Depth First Search

Depth First Search Tic Tac Toe

Dijkstra

Dinic Maxflow

Graph Enumeration

Minimum Spanning Tree

Prufer Code

Strongly Connected Components

Two Satisfiability

Greedy Methods

Fractional Knapsack

Hashing
Math

Two Sum

Aliquot Sum

Amicable Numbers

Area of Polygon

Area Under Curve

Armstrong Number

Baby Step Giant Step

Bell Numbers

Binary Exponentiation

Collatz Sequence

Extended Euclidean Algorithm

Factors

Fast Power

Faster Perfect Numbers

Gcd of N Numbers

Greatest Common Divisor

Karatsuba Multiplication

Linear Sieve

Matrix Ops

Mersenne Primes

Miller Rabin

Nthprime

Perfect Number

Pollard Rho

Prime Factors

Quadratic Residue

Random

Sieve of Eratosthenes

Signum

Simpson Integration

Square Pyramidal Numbers

Square Root

Sum of Digits

Trial Division

Zellers Congruence Algorithm

Matrix

Pascal Triangle

Navigation
Number Theory

Compute Totient

Numerical Analysis

Gaussian Elimination

Numerical Methods

Fast Fourier Transform

Others

Graham Scan

Doomsday

Range Queries

Heavy Light Decomposition

Searches

Union Find

Interpolation

Binary Search

+14

More

Binary Search Recursive

Exponential Search

Fibonacci Search

Interpolation Search

Jump Search

Kth Smallest

Kth Smallest Heap

Linear Search

+13

More

Quick Select

Ternary Search

Ternary Search Min Max

Ternary Search Min Max Recursive

Ternary Search Recursive

Sorts

Fisher Yates Shuffle

Topological Sort

Bead Sort

Binary Insertion Sort

Bitonic Sort

Bogo Sort

Bubble Sort

+18

More

Bucket Sort

Cocktail Shaker Sort

Comb Sort

Counting Sort

Cycle Sort

Dutch National Flag Sort

Exchange Sort

Gnome Sort

Heap Sort

+13

More

Insertion Sort

+17

More

Odd Even Sort

Pancake Sort

Patience Sort

Pigeonhole Sort

Quick Sort

+18

More

Quick Sort 3 Ways

Radix Sort

Selection Sort

+13

More

Shell Sort

Sleep Sort

Stooge Sort

Tim Sort

Wiggle Sort

Strings

Aho Corasick

Autocomplete Using Trie

Boyer Moore Search

Burrows Wheeler Transform

Duval Algorithm

Hamming Distance

Jaro Winkler Distance

Knuth Morris Pratt

Levenshtein Distance

Manacher

Palindrome

Rabin Karp

Suffix Array

Suffix Array Manber Myers

Suffix Tree

Z Algorithm