The Algorithms logo
The Algorithms
Audio Filters

Butterworth Filter

Show Response


Knight Tour

Hamiltonian Cycle

N Queens Math

All Subsequences

Rat in Maze

Sum of Subsets

All Combinations

All Permutations

Bit Manipulation

Gray Code Sequence

Count 1s Brian Kernighan Method

Binary and Operator

Binary Twos Complement

Binary or Operator

Binary Count Setbits

Binary Xor Operator

Count Number of One Bits

Binary Count Trailing Zeros

Single Bit Manipulation Operations


Chinese Remainder Theorem

Modular Division

Diophantine Equation

Boolean Algebra

Quine Mc Cluskey

Cellular Automata

Conways Game of Life

Nagel Schrekenberg

One Dimensional


Trafid Cipher

Enigma Machine 2

Cryptomath Module

Rsa Factorization

Rail Fence Cipher

Mixed Keyword Cypher

Playfair Cipher

Vigenere Cipher


Beaufort Cipher

Porta Cipher

Deterministic Miller Rabin

Morse Code

Mono Alphabetic Ciphers

Caesar Cipher

Decrypt Caesar with Chi Squared

Transposition Cipher Encrypt Decrypt File

Simple Substitution Cipher

Brute Force Caesar Cipher

Hill Cipher

Baconian Cipher

Simple Keyword Cypher

Shuffled Shift Cipher

Diffie Hellman

Elgamal Key Generator

Affine Cipher

Onepad Cipher

Rabin Miller

Xor Cipher

Rsa Cipher

Rsa Key Generator

Transposition Cipher


Lempel Ziv

Lempel Ziv Decompress

Burrows Wheeler

Peak Signal to Noise Ratio

Computer Vision

Flip Augmentation

Pooling Functions

Harris Corner

Mosaic Augmentation

Mean Threshold

Cnn Classification


Hexadecimal to Decimal

Decimal to Binary

Volume Conversions

Prefix Conversions String

Rgb Hsv Conversion

Binary to Hexadecimal

Temperature Conversions

Decimal to Binary Recursion

Pressure Conversions

Weight Conversion

Prefix Conversions

Decimal to Any

Binary to Octal

Hex to Bin

Binary to Decimal

Molecular Chemistry

Decimal to Hexadecimal

Length Conversion

Decimal to Octal

Octal to Decimal

Roman Numerals

Data Structures

Hash Table with Linked List

Quadratic Probing

Singly Linked List

Middle Element of Linked List

Circular Linked List

Doubly Linked List

Doubly Linked List Two

Alternate Disjoint Set

Randomized Heap

Binary Search Tree

Lowest Common Ancestor

Non Recursive Segment Tree

Merge Two Binary Trees

Binary Tree Traversals

Binary Search Tree Recursive

Number of Possible Binary Trees

Priority Queue Using List

Double Ended Queue

Circular Queue Linked List

Queue on Pseudo Stack

Postfix Evaluation

Stock Span Problem

Infix to Postfix Conversion

Evaluate Postfix Notations

Next Greater Element

Stack with Singly Linked List

Dijkstras Two Stack Algorithm

Infix to Prefix Conversion

Prefix Evaluation

Stack with Doubly Linked List

Balanced Parentheses

Digital Image Processing
Divide and Conquer

Closest Pair of Points

Heaps Algorithm Iterative

Max Subarray Sum

Heaps Algorithm

Strassen Matrix Multiplication

Kth Order Statistic

Max Difference Pair

Dynamic Programming

Fractional Knapsack 2

Longest Increasing Subsequence O(nlogn)

Minimum Cost Path

Longest Common Subsequence

Matrix Chain Order

Minimum Steps to One

Subset Generation

Max Sum Contiguous Subsequence

Longest Increasing Subsequence

Fractional Knapsack

Integer Partition

Minimum Coin Change

Iterating Through Submasks

Max Non Adjacent Sum

Longest Sub Array

Fibonacci Numbers

Optimal Binary Search Tree

Minimum Partition

Fibonacci Numbers


Carrier Concentration

Coulombs Law

Electric Power

File Transfer

Equated Monthly Installments


Sierpinski Triangle


Julia Sets

Koch Snowflake

Fuzzy Logic

Fuzzy Operations

Genetic Algorithm

Lamberts Ellipsoidal Distance

Haversine Distance


Vector 3 for 2d Rendering

Bezier Curve


Articulation Points

Graph Matrix

Depth First Search

Frequent Pattern Graph Miner

Breadth First Search

Minimum Spanning Tree Prims

Even Tree

Check Bipartite Graph Bfs

Minimum Spanning Tree Kruskal

Matching Min Vertex Cover

Random Graph Generator


Breadth First Search Shortest Path

Bellman Ford

Check Cycle

Greedy Min Vertex Cover

Markov Chain

Greedy Best First

G Topological Sort

Check Bipartite Graph Dfs

Kahns Algorithm Long

Tarjans Scc

Bidirectional Breadth First Search

Graph List

Page Rank

Dijkstra Algorithm

Kahns Algorithm Topo

Minimum Spanning Tree Prims 2

Bfs Zero One Shortest Path


Breadth First Search 2

Finding Bridges

Minimum Spanning Tree Kruskal 2

Strongly Connected Components

Minimum Spanning Tree Boruvka

Connected Components

Gale Shapley Bigraph

Graphs Floyd Warshall

Scc Kosaraju

Dijkstra 2

Bidirectional a Star

Multi Heuristic Astar

Basic Graphs

Eulerian Path and Circuit for Undirected Graph

Depth First Search 2

Bfs Shortest Path

Directed and Undirected (Weighted) Graph

Edmonds Karp Multiple Source and Sink

Greedy Methods

Optimal Merge Pattern


Enigma Machine

Chaos Machine

Adler 32

Hamming Code


Greedy Knapsack

Linear Algebra

Transformations 2d

Power Iteration

Conjugate Gradient

Polynom for Points

Schur Complement

Rayleigh Quotient

Machine Learning

K Nearest Neighbours

Data Transformations

Gradient Descent

Polymonial Regression

Gradient Boosting Regressor

Logistic Regression

Local Weighted Learning

Linear Discriminant Analysis

Linear Regression

Similarity Search

Word Frequency Functions

Gaussian Naive Bayes

Lstm Prediction

Random Forest Regressor

Support Vector Machines

Multilayer Perceptron Classifier

Scoring Functions

Random Forest Classifier

Sequential Minimum Optimization



Is Ip v 4 Address Valid

Kth Lexicographic Permutation

Greedy Coin Change

Perfect Number

Factorial Recursive

Sum of Arithmetic Series

Find Max Recursion

Degrees to Radians

Euler Modified

Extended Euclidean Algorithm

Euclidean Gcd

Prime Factors

Greatest Common Divisor


Collatz Sequence

Square Root

Perfect Cube

Krishnamurthy Number


Armstrong Numbers

Line Length

Sieve of Eratosthenes

Arithmetic Mean

Geometric Series

Hexagonal Numbers


Harmonic Series

Double Factorial Iterative

Aliquot Sum

Sylvester Sequence

Bailey Borwein Plouffe

Binary Exponentiation 3

Number of Digits

Euler Method

Euclidean Distance

Factorial Iterative

Max Sum Sliding Window

Lucas Series

Miller Rabin

Runge Kutta


Qr Decomposition

Eulers Totient


Abs Min


Check Polygon

Mobius Function

Two Sum

Nevilles Method

Find Max

Decimal Isolate

Prime Check

Points Are Collinear 3d

Quadratic Equations Complex Numbers


Prime Sieve Eratosthenes

Find Min

Binary Exponentiation

Numerical Integration

Median of Two Arrays

Zellers Congruence

Monte Carlo Dice

Basic Maths


Average Mean

Fermats Little Theorem

Binary Exponentiation 2

Hardy Ramanujanalgo


Area Under Curve

Largest of Very Large Numbers

Binary Exp Mod

Sum of Geometric Progression

Power Using Recursion


Pollard Rho

Allocation Number

Jaccard Similarity


Ugly Numbers

3n Plus 1

Perfect Square

Average Absolute Deviation

Triplet Sum

Pi Monte Carlo Estimation

Simpson Rule

Two Pointer

Segmented Sieve


Average Median

Monte Carlo

Matrix Exponentiation

Is Square Free

Find Min Recursion

Binomial Distribution

Double Factorial Recursive

Sock Merchant

Integration by Simpson Approx

Binomial Coefficient

Gamma Recursive

Chudnovsky Algorithm

Polynomial Evaluation

Least Common Multiple

Trapezoidal Rule

Largest Subarray Sum

Sum of Digits

Modular Exponential

Proth Number

Abs Max

Radix 2 Fft

Average Mode


Rotate Matrix

Count Islands in Matrix

Nth Fibonacci Using Matrix Exponentiation

Spiral Print

Matrix Operation

Searching in Sorted Matrix

Inverse of Matrix

Matrix Class

Sherman Morrison

Networking Flow
Neural Network

Convolution Neural Network

2 Hidden Layers Neural Network

Back Propagation Neural Network

Numerical Analysis

Newton Forward Interpolation

Gaussian Elimination

In Static Equilibrium

Jacobi Iteration Method

Lu Decomposition


Davisb Putnamb Logemannb Loveland

Fischer Yates Shuffle

Check Strong Password

Gauss Easter

Lfu Cache

Graham Scan

Least Recently Used


Lru Cache

Tower of Hanoi

Linear Congruential Generator


Alternative List Arrange

Password Generator

Nested Brackets

Scoring Algorithm

Activity Selection

Dijkstra Bankers Algorithm


Newtons Second Law of Motion

Lorenz Transformation Four Vector

N Body Simulation

Horizontal Projectile Motion


Not Gate

Half Adder

Quantum Entanglement

Deutsch Jozsa

Ripple Adder Classic

Single Qubit Measure


Shortest Job First

First Come First Served

Round Robin


Validate Solutions

Validate Filenames

Build Directory Md


Double Linear Search

Sentinel Linear Search

Simulated Annealing

Linear Search



Double Linear Search Recursion

Fibonacci Search

Quick Select

Interpolation Search

Ternary Search

Binary Tree Traversal

Tabu Search

Hill Climbing

Binary Search



Jump Search

Simple Binary Search


Gnome Sort

Recursive Bubble Sort

Insertion Sort



Quick Sort



Pigeon Sort

Msd Radix Sort

Odd Even Sort

Random Normal Distribution Quicksort

Quick Sort 3 Partition

Double Sort

Natural Sort

Recursive Quick Sort

Radix Sort

Tree Sort

External Sort

Selection Sort



Exchange Sort

Counting Sort

Bogo Sort

Cocktail Shaker Sort

Odd Even Transposition Parallel

Topological Sort

Recursive Mergesort Array

Merge Insertion Sort

Tim Sort

Comb Sort

Unknown Sort

Random Pivot Quick Sort

Pancake Sort

Iterative Merge Sort

Strand Sort

Bubble Sort



Patience Sort

Shell Sort

Pigeonhole Sort

Odd Even Transposition Single Threaded

Dutch National Flag Sort

Merge Sort



Heap Sort



Bitonic Sort

Bead Sort

Stooge Sort

Recursive Insertion Sort

Bucket Sort

Cycle Sort


Intro Sort

Wiggle Sort

Merge Sort



Reverse Letters

Z Function

Frequency Finder

Reverse Long Words

Reverse Words


Alternative String Arrange

Knuth Morris Pratt


Wildcard Pattern Matching

Check Anagrams


Prefix Function

Credit Card Validator

Naive String Search

Indian Phone Validator


Is Contains Unique Chars

Remove Duplicate

Levenshtein Distance

Detecting English Programmatically

Check Pangram

Aho Corasick

Rabin Karp

Word Occurrence

Autocomplete Using Trie

Jaro Winkler

Boyer Moore Search

Can String Be Rearranged as Palindrome

Word Patterns

Min Cost String Conversion