The Algorithms logo
The Algorithms
AboutDonate
Backtracking

Sudoku Solver

Nqueen Print All Solutions

Subarray Sum

N Queens All Solution Optimised

Knight Tour

Graph Coloring

Generate Parentheses

Wildcard Matching

Magic Sequence

Bit Manipulation

Count Bits Flip

Find Non Repeating Number

Count of Trailing Ciphers in Factorial N

Count of Set Bits

Next Higher Number with Same Number of Set Bits

Travelling Salesman Using Bit Manipulation

Blockchain

Modular Division

Ciphers

Hill Cipher

Base 64 Encoding

A 1z 26 Cipher

Vigenere Cipher

Elliptic Curve Key Exchange

Caesar Cipher

Uint 256 T

Morse Code

Atbash Cipher

Uint 128 T

XOR Cipher

Compression
Conversions

Decimal to Hexadecimal

Decimal to Binary

CPU Scheduling Algorithms
Data Structures

Dsu Path Compression

Queue Using Two Stacks

Stack with Singly Linked List

Binary Search Tree

Binary Search Tree 2

Queue Using Array 2

Linkedlist Implentation Usingarray

Dsu Union Rank

Queue Using Linkedlist

Queue Using Array

Queue Using Linkedlist

Stack Using Array

Circular Queue Using Linked List

Reverse a Linked List

Stack Using Queue

Morrisinorder

Linked List

Trie Using Hashmap

Doubly Linked List

Circular Linked List

Postfix Evaluation

Lowest Common Ancestor

Divide and Conquer

Karatsuba Algorithm for Fast Multiplication

Strassen Matrix Multiplication

Dynamic Programming

Minimum Edit Distance

Floyd Warshall

Matrix Chain Multiplication

Longest Increasing Subsequence (Nlogn)

Maximum Circular Subarray

Searching of Element in Dynamic Array

Fibonacci Bottom Up

Longest Common Subsequence

Palindrome Partitioning

Partition Problem

Longest Increasing Subsequence

Longest Common String

Egg Dropping Puzzle

Shortest Common Supersequence

Coin Change Topdown

Longest Palindromic Subsequence

Fibonacci Numbers

+10

More
Games

Memory Game

Geometry

Graham Scan Functions

Jarvis Algorithm

Graham Scan Algorithm

Line Segment Intersection

Graphics

Spirograph

Graphs

Dijkstra

Bellman Ford

Connected Components with Dsu

Depth First Search

Hamiltons Cycle

Topological Sort by Kahns Algo

Travelling Salesman Problem

Is Graph Bipartite

Breadth First Search

Is Graph Bipartite 2

Bi Directional Dijkstra

Depth First Search with Stack

Cycle Check Directed Graph

Bridge Finding with Tarjan Algorithm

Connected Components

Kosaraju

Hopcroft Karp

Max Flow with Ford Fulkerson and Edmond Karp Algo

Kruskal

Dijkstra

Greedy Algorithms

Prims Minimum Spanning Tree

Kruskals Minimum Spanning Tree

Boruvkas Minimum Spanning Tree

Hashing

Quadratic Probing Hash Table

Chaining

Linear Probing Hash Table

Double Hash Hash Table

Machine Learning

Neural Network

Ordinary Least Squares Regressor

Kohonen Som Trace

Adaline Learning

Kohonen Som Topology

K Nearest Neighbors

Math

Runge Kutta

Bisection Method

Qr Decomposition

Armstrong Number

Matrix Exponentiation

Gcd Iterative Euclidean

Check Amicable Pair

Linear Recurrence Matrix

Binomial Calculate

Magic Number

Gcd of N Numbers

Modular Inverse Fermat Little Theorem

Approximate Pi

Integral Approximation 2

Miller Rabin

Prime Factorization

Extended Euclid Algorithm

Sieve of Eratosthenes

Check Factorial

Sqrt Double

Large Number

Fibonacci Matrix Exponentiation

Aliquot Sum

Largest Power

Euler's Totient

Fibonacci Fast

Sum of Binomial Coefficient

Armstrong Number

Fibonacci Sum

Volume

Finding Number of Digits in a Number

Inv Sqrt

Vector Cross Product

String Fibonacci

Fibonacci Large

Modular Inverse Simple

Eratosthenes

Binary Exponent

Sum of Digits

Number of Positive Divisors

N Bonacci

Complex Numbers

Modular Exponentiation

Integral Approximation

Perimeter

Primes up to Billion

Gcd Recursive Euclidean

Large Factorial

Realtime Stats

Least Common Multiple

N Choose R

Fast Power

Double Factorial

Quadratic Equations Complex Numbers

Ncr Modulo P

Power of Two

Power for Huge Numbers

Matrix

Pascal Triangle

Spiral Print

Numerical Analysis

Lu Decomposition

Gaussian Elimination

Numerical Methods

Ode Semi Implicit Euler

Fast Fourier Transform

Ode Midpoint Euler

Newton Raphson Method

Brent Method Extrema

Successive Approximation

Inverse Fast Fourier Transform

Midpoint Integral Method

Ode Forward Euler

Babylonian Method

Golden Search Extrema

Durand Kerner Roots

False Position

Qr Eigen Values

Composite Simpson Rule

Operations on Datastructures

Reverse a Linked List Using Recusion

Intersection of Two Arrays

Circular Queue Using Array

Inorder Successor of Bst

Selectionsortlinkedlist

Get Size of Linked List

Others

Vector Important Functions

Recursive Tree Traversal

Sparse Matrix

Buzz Number

Iterative Tree Traversals

Stairs Pattern

Kadanes 3

Kelvin to Celsius

Smallest Circle

Tower of Hanoi

Lru Cache

Fast Integer Input

Palindrome of Number

Paranthesis Matching

Decimal to Roman Numeral

Happy Number

Physics

Ground to Ground Projectile Motion

Probability

Geometric Dist

Windowed Median

Poisson Dist

Binomial Dist

Addition Rule

Bayes Theorem

Range Queries

Heavy Light Decomposition

Sparse Table

Persistent Seg Tree Lazy Prop

Prefix Sum Array

Sparse Table

Searches

Fibonacci Search

Ternary Search

Interpolation Search

Median Search 2

Linear Search

+13

More

Exponential Search

Jump Search

Binary Search

+14

More

Saddleback Search

Hash Search

Sublist Search

Median Search

Floyd Cycle Detection Algo

Text Search

Interpolation Search 2

Sorts

Shell Sort 2

Bubble Sort

+18

More

Random Pivot Quick Sort

Bucket Sort

Gnome Sort

Swap Sort

Quick Sort

+18

More

Recursive Bubble Sort

Slowsort

Shell Sort

Merge Insertion Sort

Bogo Sort

Cycle Sort

Wave Sort

Tim Sort

Counting Sort

Count Inversions

Heap Sort

+12

More

Radix Sort 2

Selection Sort Recursive

Bead Sort

Radix Sort

Non Recursive Merge Sort

Merge Sort

+18

More

Quick Sort 3

Binary Insertion Sort

Comb Sort

Pancake Sort

Cocktail Selection Sort

Library Sort

Numeric String Sort

Selection Sort Iterative

Wiggle Sort

Dnf Sort

Bitonic Sort

Strand Sort

Stooge Sort

Counting Sort String

Odd Even Sort

Insertion Sort

+17

More

Pigeonhole Sort

Topological Sort

Strings

Brute Force String Searching

Knuth Morris Pratt

Z Function

Boyer Moore

Rabin Karp

Manacher Algorithm

Horspool

Hamming Distance