The Algorithms logo
The Algorithms
AboutDonate
Backtracking

Wildcard Matching

Subarray Sum

Graph Coloring

Sudoku Solver

Magic Sequence

Knight Tour

Nqueen Print All Solutions

N Queens All Solution Optimised

Bit Manipulation

Count of Set Bits

Count Bits Flip

Find Non Repeating Number

Travelling Salesman Using Bit Manipulation

Count of Trailing Ciphers in Factorial N

Blockchain

Modular Division

Ciphers

Base 64 Encoding

Uint 256 T

Vigenere Cipher

Elliptic Curve Key Exchange

Atbash Cipher

Caesar Cipher

A 1z 26 Cipher

Uint 128 T

XOR Cipher

Morse Code

Hill Cipher

Compression
Conversions

Decimal to Hexadecimal

Decimal to Binary

CPU Scheduling Algorithms
Data Structures

Dsu Path Compression

Circular Queue Using Linked List

Trie Using Hashmap

Stack Using Array

Binary Search Tree

Queue Using Array 2

Morrisinorder

Linkedlist Implentation Usingarray

Reverse a Linked List

Binary Search Tree 2

Stack Using Queue

Dsu Union Rank

Queue Using Linkedlist

Queue Using Array

Doubly Linked List

Queue Using Two Stacks

Queue Using Linkedlist

Stack with Singly Linked List

Postfix Evaluation

Lowest Common Ancestor

Circular Linked List

Divide and Conquer

Karatsuba Algorithm for Fast Multiplication

Strassen Matrix Multiplication

Dynamic Programming

Longest Common Subsequence

Longest Palindromic Subsequence

Egg Dropping Puzzle

Longest Increasing Subsequence

Minimum Edit Distance

Shortest Common Supersequence

Longest Common String

Palindrome Partitioning

Floyd Warshall

Matrix Chain Multiplication

Partition Problem

Searching of Element in Dynamic Array

Coin Change Topdown

Fibonacci Bottom Up

Maximum Circular Subarray

Longest Increasing Subsequence (Nlogn)

Fibonacci Numbers

+10

More
Geometry

Graham Scan Functions

Jarvis Algorithm

Line Segment Intersection

Graham Scan Algorithm

Graphics

Spirograph

Graphs

Bellman Ford

Dijkstra

Bridge Finding with Tarjan Algorithm

Is Graph Bipartite 2

Hamiltons Cycle

Connected Components

Kosaraju

Hopcroft Karp

Bi Directional Dijkstra

Breadth First Search

Topological Sort by Kahns Algo

Depth First Search with Stack

Depth First Search

Kruskal

Max Flow with Ford Fulkerson and Edmond Karp Algo

Travelling Salesman Problem

Is Graph Bipartite

Connected Components with Dsu

Cycle Check Directed Graph

Dijkstra

Greedy Algorithms

Prims Minimum Spanning Tree

Kruskals Minimum Spanning Tree

Boruvkas Minimum Spanning Tree

Hashing

Double Hash Hash Table

Linear Probing Hash Table

Quadratic Probing Hash Table

Chaining

Machine Learning

Ordinary Least Squares Regressor

K Nearest Neighbors

Adaline Learning

Neural Network

Kohonen Som Trace

Kohonen Som Topology

Math

Armstrong Number

Matrix Exponentiation

Qr Decomposition

Runge Kutta

Bisection Method

Magic Number

N Bonacci

Power of Two

N Choose R

Inv Sqrt

Perimeter

Least Common Multiple

Integral Approximation 2

Gcd Iterative Euclidean

Fibonacci Large

Miller Rabin

Gcd of N Numbers

Large Number

Linear Recurrence Matrix

Binary Exponent

Sqrt Double

Prime Factorization

Realtime Stats

Largest Power

Check Factorial

Volume

Extended Euclid Algorithm

Power for Huge Numbers

Sum of Binomial Coefficient

Modular Inverse Fermat Little Theorem

Gcd Recursive Euclidean

Approximate Pi

Aliquot Sum

Sum of Digits

Double Factorial

Armstrong Number

Fibonacci Matrix Exponentiation

Finding Number of Digits in a Number

Modular Inverse Simple

Modular Exponentiation

Number of Positive Divisors

String Fibonacci

Complex Numbers

Sieve of Eratosthenes

Primes up to Billion

Fibonacci Sum

Ncr Modulo P

Vector Cross Product

Binomial Calculate

Integral Approximation

Check Amicable Pair

Large Factorial

Euler's Totient

Fast Power

Fibonacci Fast

Matrix

Spiral Print

Pascal Triangle

Numerical Analysis

Gaussian Elimination

Lu Decomposition

Numerical Methods

Fast Fourier Transform

Durand Kerner Roots

Brent Method Extrema

Composite Simpson Rule

Successive Approximation

False Position

Inverse Fast Fourier Transform

Qr Eigen Values

Midpoint Integral Method

Ode Forward Euler

Ode Midpoint Euler

Golden Search Extrema

Newton Raphson Method

Babylonian Method

Ode Semi Implicit Euler

Operations on Datastructures

Reverse a Linked List Using Recusion

Intersection of Two Arrays

Inorder Successor of Bst

Circular Queue Using Array

Selectionsortlinkedlist

Get Size of Linked List

Others

Paranthesis Matching

Kadanes 3

Happy Number

Tower of Hanoi

Palindrome of Number

Recursive Tree Traversal

Smallest Circle

Vector Important Functions

Stairs Pattern

Lru Cache

Decimal to Roman Numeral

Sparse Matrix

Buzz Number

Fast Integer Input

Iterative Tree Traversals

Physics

Ground to Ground Projectile Motion

Probability

Windowed Median

Poisson Dist

Geometric Dist

Addition Rule

Bayes Theorem

Binomial Dist

Range Queries

Heavy Light Decomposition

Persistent Seg Tree Lazy Prop

Prefix Sum Array

Searches

Fibonacci Search

Sublist Search

Interpolation Search

Exponential Search

Ternary Search

Linear Search

+12

More

Binary Search

+13

More

Text Search

Floyd Cycle Detection Algo

Interpolation Search 2

Hash Search

Median Search

Median Search 2

Saddleback Search

Jump Search

Sorts

Topological Sort

Wiggle Sort

Swap Sort

Odd Even Sort

Slowsort

Random Pivot Quick Sort

Count Inversions

Cycle Sort

Bubble Sort

+17

More

Merge Sort

+17

More

Shell Sort 2

Pancake Sort

Dnf Sort

Strand Sort

Radix Sort 2

Selection Sort Recursive

Binary Insertion Sort

Library Sort

Shell Sort

Pigeonhole Sort

Selection Sort Iterative

Counting Sort

Bogo Sort

Merge Insertion Sort

Wave Sort

Radix Sort

Tim Sort

Bitonic Sort

Heap Sort

+12

More

Insertion Sort

+16

More

Counting Sort String

Bucket Sort

Comb Sort

Numeric String Sort

Bead Sort

Gnome Sort

Cocktail Selection Sort

Quick Sort 3

Non Recursive Merge Sort

Quick Sort

+17

More

Recursive Bubble Sort

Strings

Hamming Distance

Manacher Algorithm

Knuth Morris Pratt

Z Function

Brute Force String Searching

Rabin Karp

Horspool