The Algorithms logo
The Algorithms
AboutDonate
Backtracking
Ciphers

Vigenere

Transposition

Polybius

Morse Code

Another Rot 13

Data Structures
Divide and Conquer
Dynamic Programming

Maximum Subarray

Longest Common Subsequence

Longest Continuous Increasing Subsequence

Longest Increasing Subsequence

Fibonacci Numbers

General

Huffman Encoding

Geometry

Closest Points

Graphs

Minimum Spanning Tree

Breadth First Search

Dijkstra

Strongly Connected Components

Centroid Decomposition

Prufer Code

Depth First Search Tic Tac Toe

Graph Enumeration

Disjoint Set Union

Depth First Search

Bellman Ford

Dinic Maxflow

Hashing
Math

Two Sum

Random

Baby Step Giant Step

Lcm of N Numbers

Karatsuba Multiplication

Pascal Triangle

Quadratic Residue

Linear Sieve

Sieve of Eratosthenes

Zellers Congruence Algorithm

Prime Check

Square Root

Miller Rabin

Fast Power

Armstrong Number

Matrix Ops

Nthprime

Extended Euclidean Algorithm

Greatest Common Divisor

Prime Factors

Simpson Integration

Pollard Rho

Perfect Numbers

Gcd of N Numbers

Trial Division

Numerical Analysis

Gaussian Elimination

Numerical Methods

Fast Fourier Transform

Range Queries

Heavy Light Decomposition

Searches

Union Find

Exponential Search

Kth Smallest

Ternary Search

Binary Search Recursive

Quick Select

Jump Search

Binary Search

+12

More

Linear Search

+11

More

Fibonacci Search

Ternary Search Min Max Recursive

Ternary Search Min Max

Ternary Search Recursive

Kth Smallest Heap

Sorts

Topological Sort

Radix Sort

Exchange Sort

Cycle Sort

Odd Even Sort

Pancake Sort

Heap Sort

+13

More

Stooge Sort

Counting Sort

Selection Sort

+13

More

Shell Sort

Merge Sort

+17

More

Bubble Sort

+17

More

Quick Sort

+17

More

Gnome Sort

Cocktail Shaker Sort

Insertion Sort

+16

More

Tim Sort

Bucket Sort

Comb Sort

Strings

Rabin Karp

Burrows Wheeler Transform

Manacher

Z Algorithm

Hamming Distance

Aho Corasick

Knuth Morris Pratt