The Algorithms logo
The Algorithms
AboutDonate
Blockchain

Chinese Remainder Theorem

Ciphers
Conversions

Rgb Hsv Conversion

Data Compression

Huffman Compressor

Shannon-Fano Compressor

Data Structures

Segment Tree Multiplication

Array-based Stack

List-based Stack

Array-based Queue

List-based Queue

Stack-based Queue

Singly Linked List

Doubly Linked List

Directed Weighted Graph Via Adjacency Matrix

Inverted index

Unrolled linked list

Least Frequently Used (LFU) Cache

Least Recently Used (LRU) Cache

Divide and Conquer
Dynamic Programming
Encoders
Fractals

Mandelbrot

Koch Snowflake

Graphs

Prim's Algorithm (Adjacency Matrix)

Breadth First Search

Depth First Search

Dijkstra Shortest Path

Kosaraju

Backtracking

Hashing
Knapsack

Naive solver

Dynamic Programming solver

Branch and bound solver

IHeuristicSolver

Linear Algebra
Math

Extended Euclidean Algorithm

Aliquot Sum

Euclidean Gcd

Modular Exponentiation

Binomial Coefficient

Euler Method

Automorphic Number

Sieve of Eratosthenes

Modular Arithmetic

Modular Multiplicative Inverse

Numeric

Amicable Numbers Checker

Thin Singular Vector Decomposition

Trial division Factorization

Maclaurin Series

Gauss-Jordan Elimination

Keith Number Checker

Pseudo-Inverse

Narcissistic Number Checker

Perfect Number Checker

Perfect Square Checker

Miller-Rabin primality check

KrishnamurthyNumberChecker

Numerical Analysis

Lu Decomposition

Others

Fermat Prime Checker

Int2Binary

GeoLocation

Pareto Optimization

Gauss Optimization

Decisions Convolutions

Problems
Recursive

Flood Fill

Searches

Binary Search

+13

More

Recursive Binary Search

Linear Search

+11

More

Fast Search

Fibonacci Search

Jump Search

Sequences

A000002 Kolakoski

A000004 Zero

A000005 Count of Divisors

A000008 Make Change

A000010 Euler's Totient

A000012 All Ones

A000027 Natural

A000032 Lucas Numbers

A000040 Primes

A000045 Fibonacci

A000079 Powers of 2

A000108 Catalan

A000120 1's Counting

A000142 Factorial

A000215 Fermat Numbers

A000290 Squares

A000578 Cubes

A000720 PrimePi

A001146 Number of Boolean Functions

A001462 Golomb's

A001478 Negative Integers

A002110 Primorial Numbers

A005132 Recaman's

A006577 Number of '3n+1' steps to reach 1

A006862 Euclid Numbers

A006879 Number of Primes by Number of Digits

A006880 Number of Primes by Powers of 10

A007318 Binomial

A010051 Binary Prime Constant

A011557 Powers of 10

A057588 Kummer Numbers

A019434 Fermat Primes

A181391 Van Eck's

Shufflers

Fisher-Yates Shuffler

Sorts

Binary Insertion Sort

Bogo Sort

Bubble Sort

+17

More

Cocktail Sort

Comb Sort

Cycle Sort

Exchange Sort

Heap Sort

+13

More

Insertion Sort

+17

More

Pancake Sort

Quick Sort

+18

More

Median of three pivot

Middle point pivot

Random pivot

Selection Sort

+13

More

Shell Sort

Tim Sort

Counting Sort

Bucket Sort

Radix Sort

Msd Radix Sort

Knuth–Morris–Pratt Search

Strings

Burrows Wheeler Transform

Longest Consecutive Character

Naive String Search

Rabin Karp

Boyer Moore

Palindrome Checker

Get all permutations of a string

Levenshtein Distance

Hamming Distance

Jaro Similarity

Jaro Winkler Distance