The Algorithms logo
The Algorithms
AboutDonate
Backtracking

Generate Parentheses

Graph Coloring

Knight Tour

Magic Sequence

N Queens All Solution Optimised

Nqueen Print All Solutions

Subarray Sum

Sudoku Solver

Bit Manipulation

Count Bits Flip

Count of Set Bits

Count of Trailing Ciphers in Factorial N

Find Non Repeating Number

Next Higher Number with Same Number of Set Bits

Travelling Salesman Using Bit Manipulation

Ciphers

A 1z 26 Cipher

Atbash Cipher

Base 64 Encoding

Caesar Cipher

Elliptic Curve Key Exchange

Hill Cipher

Morse Code

Uint 128 T

Uint 256 T

Vigenere Cipher

XOR Cipher

Compression
Conversions

Decimal to Binary

Decimal to Hexadecimal

CPU Scheduling Algorithms

Non Preemptive Sjf Scheduling

Data Structures

Binary Search Tree

Binary Search Tree 2

Circular Queue Using Linked List

Doubly Linked List

Dsu Path Compression

Dsu Union Rank

Linked List

Linkedlist Implentation Usingarray

Morrisinorder

Queue Using Array

Queue Using Array 2

Queue Using Linked List

Queue Using Linked List

Queue Using Two Stacks

Reverse a Linked List

Stack Using Array

Stack with Singly Linked List

Stack Using Queue

Trie Using Hashmap

Lowest Common Ancestor

Circular Linked List

Postfix Evaluation

Divide and Conquer

Karatsuba Algorithm for Fast Multiplication

Strassen Matrix Multiplication

Dynamic Programming

Wildcard Matching

Armstrong Number Templated

Coin Change Topdown

Egg Dropping Puzzle

Fibonacci Bottom Up

Floyd Warshall

Longest Common String

Longest Common Subsequence

Longest Increasing Subsequence

Longest Increasing Subsequence Nlogn

Longest Palindromic Subsequence

Matrix Chain Multiplication

Maximum Circular Subarray

Minimum Edit Distance

Palindrome Partitioning

Partition Problem

Searching of Element in Dynamic Array

Shortest Common Supersequence

Subset Sum Dynamic

Trapped Rainwater

Unbounded 0 1 Knapsack

Fibonacci Numbers

+12

More

Longest Substring Without Repeating Characters

Games

Memory Game

Geometry

Graham Scan Algorithm

Graham Scan Functions

Jarvis Algorithm

Line Segment Intersection

Graphics

Spirograph

Graphs

Bellman Ford

Bi Directional Dijkstra

Breadth First Search

Bridge Finding with Tarjan Algorithm

Connected Components

Connected Components with Dsu

Cycle Check Directed Graph

Depth First Search

Depth First Search with Stack

Dijkstra

Hamiltons Cycle

Hopcroft Karp

Is Graph Bipartite

Is Graph Bipartite 2

Kosaraju

Kruskal

Max Flow with Ford Fulkerson and Edmond Karp Algo

Topological Sort by Kahns Algo

Travelling Salesman Problem

Greedy Algorithms

Binary Addition

Boruvkas Minimum Spanning Tree

Digit Separation

Dijkstra Greedy

Kruskals Minimum Spanning Tree

Prims Minimum Spanning Tree

Hashing

Chaining

Double Hash Hash Table

Linear Probing Hash Table

Quadratic Probing Hash Table

Linear Algebra

Gaussian Elimination

Lu Decomposition

Machine Learning

Adaline Learning

K Nearest Neighbors

Kohonen Som Topology

Kohonen Som Trace

Neural Network

Ordinary Least Squares Regressor

Math

Aliquot Sum

Approximate Pi

Armstrong Number

Binary Exponent

Binomial Calculate

Check Amicable Pair

Check Factorial

Complex Numbers

Double Factorial

Eratosthenes

Euler's Totient

Extended Euclid Algorithm

Fast Power

Fibonacci Fast

Fibonacci Large

Fibonacci Matrix Exponentiation

Fibonacci Sum

Finding Number of Digits in a Number

Gcd Iterative Euclidean

Gcd of N Numbers

Gcd Recursive Euclidean

Integral Approximation

Integral Approximation 2

Inv Sqrt

Iterative Factorial

Large Factorial

Large Number

Largest Power

Least Common Multiple

Linear Recurrence Matrix

Magic Number

Miller Rabin

Modular Division

Modular Exponentiation

Modular Inverse Fermat Little Theorem

Modular Inverse Simple

N Bonacci

N Choose R

Ncr Modulo P

Number of Positive Divisors

Perimeter

Power for Huge Numbers

Power of Two

Prime Factorization

Primes up to Billion

Quadratic Equations Complex Numbers

Realtime Stats

Sieve of Eratosthenes

Sqrt Double

String Fibonacci

Sum of Binomial Coefficient

Sum of Digits

Vector Cross Product

Volume

Bisection Method

Qr Decomposition

Matrix Exponentiation

Matrix

Pascal Triangle

Spiral Print

Numerical Methods

Babylonian Method

Brent Method Extrema

Composite Simpson Rule

Durand Kerner Roots

False Position

Fast Fourier Transform

Golden Search Extrema

Inverse Fast Fourier Transform

Midpoint Integral Method

Newton Raphson Method

Ode Forward Euler

Ode Midpoint Euler

Ode Semi Implicit Euler

Qr Eigen Values

Successive Approximation

Operations on Datastructures

Circular Queue Using Array

Get Size of Linked List

Inorder Successor of Bst

Intersection of Two Arrays

Reverse a Linked List Using Recusion

Selectionsortlinkedlist

Others

Buzz Number

Decimal to Roman Numeral

Fast Integer Input

Iterative Tree Traversals

Kadanes 3

Kelvin to Celsius

Lfu Cache

Lru Cache

Lru Cache 2

Palindrome of Number

Paranthesis Matching

Recursive Tree Traversal

Smallest Circle

Sparse Matrix

Stairs Pattern

Tower of Hanoi

Vector Important Functions

Physics

Ground to Ground Projectile Motion

Probability

Addition Rule

Bayes Theorem

Binomial Dist

Exponential Dist

Geometric Dist

Poisson Dist

Windowed Median

Range Queries

Heavy Light Decomposition

Persistent Seg Tree Lazy Prop

Prefix Sum Array

Sparse Table Range Queries

Searches

Binary Search

+15

More

Exponential Search

Fibonacci Search

Floyd Cycle Detection Algo

Hash Search

Interpolation Search

Interpolation Search 2

Jump Search

Linear Search

+14

More

Longest Increasing Subsequence Using Binary Search

Median Search

Median Search 2

Saddleback Search

Sublist Search

Ternary Search

Text Search

Sorts

Topological Sort

Bead Sort

Binary Insertion Sort

Bitonic Sort

Bogo Sort

Bubble Sort

+19

More

Bucket Sort

Cocktail Selection Sort

Comb Sort

Count Inversions

Counting Sort

Counting Sort String

Cycle Sort

Dnf Sort

Gnome Sort

Heap Sort

+15

More

Insertion Sort

+18

More

Insertion Sort Recursive

Library Sort

Merge Insertion Sort

Non Recursive Merge Sort

Numeric String Sort

Odd Even Sort

Pancake Sort

Pigeonhole Sort

Quick Sort

+19

More

Quick Sort 3

Quick Sort Iterative

Radix Sort

Radix Sort 2

Random Pivot Quick Sort

Recursive Bubble Sort

Selection Sort Iterative

Selection Sort Recursive

Shell Sort

+10

More

Shell Sort 2

Slowsort

Stooge Sort

Strand Sort

Swap Sort

Tim Sort

Wave Sort

Wiggle Sort

Strings

Hamming Distance

Boyer Moore

Brute Force String Searching

Horspool

Knuth Morris Pratt

Manacher Algorithm

Rabin Karp

Z Function