The Algorithms logo
The Algorithms
AboutDonate
Backtracking

N Queens All Solution Optimised

Subarray Sum

Wildcard Matching

Generate Parentheses

Magic Sequence

Sudoku Solver

Graph Coloring

Nqueen Print All Solutions

Knight Tour

Bit Manipulation

Count of Trailing Ciphers in Factorial N

Next Higher Number with Same Number of Set Bits

Count Bits Flip

Find Non Repeating Number

Travelling Salesman Using Bit Manipulation

Count of Set Bits

Blockchain

Modular Division

Ciphers

Elliptic Curve Key Exchange

Vigenere Cipher

Atbash Cipher

Caesar Cipher

Base 64 Encoding

XOR Cipher

Hill Cipher

Morse Code

Uint 128 T

A 1z 26 Cipher

Uint 256 T

Compression
Conversions

Decimal to Binary

Decimal to Hexadecimal

CPU Scheduling Algorithms
Data Structures

Lowest Common Ancestor

Circular Linked List

Trie Using Hashmap

Binary Search Tree 2

Stack with Singly Linked List

Queue Using Two Stacks

Queue Using Array

Circular Queue Using Linked List

Queue Using Linked List

Stack Using Array

Reverse a Linked List

Dsu Union Rank

Queue Using Linked List

Doubly Linked List

Linkedlist Implentation Usingarray

Morrisinorder

Dsu Path Compression

Stack Using Queue

Binary Search Tree

Queue Using Array 2

Linked List

Postfix Evaluation

Divide and Conquer

Strassen Matrix Multiplication

Karatsuba Algorithm for Fast Multiplication

Dynamic Programming

Longest Palindromic Subsequence

Shortest Common Supersequence

Palindrome Partitioning

Longest Increasing Subsequence

Maximum Circular Subarray

Minimum Edit Distance

Longest Common Subsequence

Longest Increasing Subsequence (Nlogn)

Longest Common String

Partition Problem

Searching of Element in Dynamic Array

Floyd Warshall

Coin Change Topdown

Fibonacci Bottom Up

Matrix Chain Multiplication

Egg Dropping Puzzle

Games

Memory Game

Geometry

Line Segment Intersection

Graham Scan Algorithm

Graham Scan Functions

Jarvis Algorithm

Graphics

Spirograph

Graphs

Connected Components

Is Graph Bipartite

Connected Components with Dsu

Dijkstra

Bi Directional Dijkstra

Kosaraju

Bridge Finding with Tarjan Algorithm

Breadth First Search

Topological Sort by Kahns Algo

Cycle Check Directed Graph

Depth First Search with Stack

Kruskal

Travelling Salesman Problem

Depth First Search

Max Flow with Ford Fulkerson and Edmond Karp Algo

Hamiltons Cycle

Is Graph Bipartite 2

Hopcroft Karp

Bellman Ford

Dijkstra

Greedy Algorithms

Kruskals Minimum Spanning Tree

Prims Minimum Spanning Tree

Boruvkas Minimum Spanning Tree

Hashing

Quadratic Probing Hash Table

Linear Probing Hash Table

Double Hash Hash Table

Chaining

Machine Learning

Kohonen Som Topology

Ordinary Least Squares Regressor

K Nearest Neighbors

Neural Network

Kohonen Som Trace

Adaline Learning

Math

Armstrong Number

Iterative Factorial

Power for Huge Numbers

Fibonacci Sum

Quadratic Equations Complex Numbers

Ncr Modulo P

Modular Inverse Simple

Extended Euclid Algorithm

N Choose R

N Bonacci

Eratosthenes

Fibonacci Large

Approximate Pi

Euler's Totient

Sieve of Eratosthenes

Gcd of N Numbers

Double Factorial

Volume

Check Factorial

Prime

Modular Exponentiation

Complex Numbers

Gcd Recursive Euclidean

Sum of Binomial Coefficient

Integral Approximation 2

Fibonacci Numbers

+10

More

Fibonacci Matrix Exponentiation

Realtime Stats

Gcd Iterative Euclidean

Binomial Calculate

Linear Recurrence Matrix

Large Number

Primes up to Billion

Least Common Multiple

Integral Approximation

Largest Power

Fibonacci Fast

Prime

Power of Two

Prime Factorization

Finding Number of Digits in a Number

Armstrong Number

Sum of Digits

Number of Positive Divisors

Perimeter

Check Amicable Pair

Vector Cross Product

Fast Power

Modular Inverse Fermat Little Theorem

Binary Exponent

Sqrt Double

Miller Rabin

Aliquot Sum

Magic Number

String Fibonacci

Inv Sqrt

Factorial

+11

More

Large Factorial

Qr Decomposition

Runge Kutta

Bisection Method

Matrix Exponentiation

Matrix

Pascal Triangle

Spiral Print

Numerical Analysis

Lu Decomposition

Gaussian Elimination

Numerical Methods

Successive Approximation

Composite Simpson Rule

Inverse Fast Fourier Transform

Midpoint Integral Method

Newton Raphson Method

Fast Fourier Transform

Qr Eigen Values

Ode Semi Implicit Euler

False Position

Babylonian Method

Golden Search Extrema

Brent Method Extrema

Ode Midpoint Euler

Durand Kerner Roots

Ode Forward Euler

Operations on Datastructures

Circular Queue Using Array

Selectionsortlinkedlist

Intersection of Two Arrays

Reverse a Linked List Using Recusion

Get Size of Linked List

Inorder Successor of Bst

Others

Sparse Matrix

Smallest Circle

Buzz Number

Recursive Tree Traversal

Kelvin to Celsius

Kadanes 3

Tower of Hanoi

Palindrome of Number

Happy Number

Stairs Pattern

Fast Integer Input

Paranthesis Matching

Vector Important Functions

Lru Cache

Iterative Tree Traversals

Decimal to Roman Numeral

Physics

Ground to Ground Projectile Motion

Probability

Bayes Theorem

Windowed Median

Geometric Dist

Addition Rule

Poisson Dist

Binomial Dist

Range Queries

Prefix Sum Array

Heavy Light Decomposition

Persistent Seg Tree Lazy Prop

Searches

Floyd Cycle Detection Algo

Binary Search

+14

More

Ternary Search

Median Search

Text Search

Linear Search

+13

More

Hash Search

Interpolation Search

Saddleback Search

Jump Search

Sublist Search

Exponential Search

Fibonacci Search

Interpolation Search 2

Median Search 2

Sorts

Topological Sort

Binary Insertion Sort

Count Inversions

Recursive Bubble Sort

Radix Sort

Counting Sort

Wave Sort

Quick Sort

+18

More

Numeric String Sort

Selection Sort Iterative

Pigeonhole Sort

Comb Sort

Library Sort

Selection Sort Recursive

Random Pivot Quick Sort

Slowsort

Tim Sort

Odd Even Sort

Bead Sort

Swap Sort

Heap Sort

+12

More

Shell Sort

Pancake Sort

Insertion Sort

+17

More

Gnome Sort

Bucket Sort

Counting Sort String

Bogo Sort

Shell Sort 2

Cocktail Selection Sort

Bitonic Sort

Stooge Sort

Bubble Sort

+18

More

Quick Sort 3

Non Recursive Merge Sort

Radix Sort 2

Cycle Sort

Merge Insertion Sort

Dnf Sort

Wiggle Sort

Strand Sort

Strings

Hamming Distance

Horspool

Rabin Karp

Manacher Algorithm

Knuth Morris Pratt

Brute Force String Searching

Boyer Moore

Z Function