The Algorithms logo
The Algorithms
AboutDonate
Backtracking
Ciphers

Vigenere

Transposition

Polybius

Morse Code

Another Rot 13

Data Structures
Divide and Conquer
Dynamic Programming

Longest Continuous Increasing Subsequence

Longest Common Subsequence

Maximum Subarray

Longest Increasing Subsequence

Fibonacci Numbers

General

Huffman Encoding

Geometry

Closest Points

Graphs

Depth First Search

Disjoint Set Union

Minimum Spanning Tree

Graph Enumeration

Breadth First Search

Strongly Connected Components

Dijkstra

Centroid Decomposition

Prufer Code

Bellman Ford

Dinic Maxflow

Depth First Search Tic Tac Toe

Hashing
Math

Trial Division

Perfect Numbers

Gcd of N Numbers

Prime Numbers

Baby Step Giant Step

Armstrong Number

Pascal Triangle

Linear Sieve

Nthprime

Fast Power

Square Root

Prime Check

Karatsuba Multiplication

Zellers Congruence Algorithm

Pollard Rho

Extended Euclidean Algorithm

Sieve of Eratosthenes

Quadratic Residue

Simpson Integration

Random

Lcm of N Numbers

Greatest Common Divisor

Miller Rabin

Two Sum

Numerical Methods

Fast Fourier Transform

Range Queries

Heavy Light Decomposition

Searches

Union Find

Ternary Search Min Max Recursive

Ternary Search Min Max

Ternary Search Recursive

Linear Search

+11

More

Quick Select

Ternary Search

Exponential Search

Binary Search

+12

More

Kth Smallest

Kth Smallest Heap

Fibonacci Search

Jump Search

Binary Search Recursive

Sorts

Counting Sort

Pancake Sort

Exchange Sort

Shell Sort

Radix Sort

Comb Sort

Cycle Sort

Bucket Sort

Heap Sort

+13

More

Insertion Sort

+16

More

Odd Even Sort

Bubble Sort

+17

More

Gnome Sort

Cocktail Shaker Sort

Selection Sort

+13

More

Stooge Sort

Quick Sort

+17

More

Tim Sort

Topological Sort

Strings

Z Algorithm

Knuth Morris Pratt

Burrows Wheeler Transform

Rabin Karp

Manacher

Aho Corasick

Hamming Distance