The Algorithms logo
The Algorithms

Graph Coloring

Knight Tour

Sudoku Solver

Wildcard Matching

Magic Sequence

Subarray Sum

N Queens All Solution Optimised

Nqueen Print All Solutions

Bit Manipulation

Count of Set Bits

Count of Trailing Ciphers in Factorial N

Count Bits Flip


Modular Division


Base 64 Encoding

Hill Cipher

A 1z 26 Cipher

Atbash Cipher

Elliptic Curve Key Exchange

Morse Code

Uint 256 T

Vigenere Cipher

Caesar Cipher

XOR Cipher

Uint 128 T


Decimal to Binary

Decimal to Hexadecimal

CPU Scheduling Algorithms
Data Structures

Postfix Evaluation

Circular Linked List

Lowest Common Ancestor

Dsu Path Compression

Queue Using Linkedlist

Doubly Linked List

Stack Using Queue

Queue Using Two Stacks

Binary Search Tree 2

Stack with Singly Linked List

Linkedlist Implentation Usingarray

Circular Queue Using Linked List

Binary Search Tree

Reverse a Linked List

Queue Using Linkedlist

Dsu Union Rank

Trie Using Hashmap

Stack Using Array

Queue Using Array 2

Queue Using Array


Divide and Conquer

Karatsuba Algorithm for Fast Multiplication

Dynamic Programming

Fibonacci Bottom Up

Longest Increasing Subsequence

Partition Problem

Floyd Warshall

Shortest Common Supersequence

Palindrome Partitioning

Longest Palindromic Subsequence

Minimum Edit Distance

Coin Change Topdown

Longest Common String

Searching of Element in Dynamic Array

Matrix Chain Multiplication

Longest Increasing Subsequence (Nlogn)

Egg Dropping Puzzle

Longest Common Subsequence


Line Segment Intersection

Graham Scan Algorithm

Graham Scan Functions

Jarvis Algorithm




Bellman Ford

Bidirectional Dijkstra

Hopcroft Karp

Topological Sort by Kahns Algo

Travelling Salesman Problem

Depth First Search with Stack


Is Graph Bipartite

Breadth First Search


Connected Components with Dsu

Depth First Search


Bridge Finding with Tarjan Algorithm

Cycle Check Directed Graph

Connected Components

Is Graph Bipartite 2

Max Flow with Ford Fulkerson and Edmond Karp Algo

Hamiltons Cycle


Greedy Algorithms

Prims Minimum Spanning Tree

Kruskals Minimum Spanning Tree



Quadratic Probing Hash Table

Linear Probing Hash Table

Double Hash Hash Table

Machine Learning

Neural Network

Kohonen Som Topology

Adaline Learning

Kohonen Som Trace

Ordinary Least Squares Regressor


Bisection Method

Qr Decomposition

Runge Kutta

Matrix Exponentiation

Armstrong Number

Power of Two

Armstrong Number


N Choose R


Modular Inverse Simple

Integral Approximation 2

Fast Power

Sieve of Eratosthenes

N Bonacci

Fibonacci Fast

Sqrt Double

Fibonacci Matrix Exponentiation

Magic Number

Gcd Recursive Euclidean

Primes up to Billion

Ncr Modulo P

Modular Exponentiation

Sum of Binomial Coefficient

Miller Rabin

Least Common Multiple

Extended Euclid Algorithm

Realtime Stats

Sum of Digits

Complex Numbers

String Fibonacci

Largest Power

Modular Inverse Fermat Little Theorem

Check Amicable Pair


Gcd of N Numbers

Power for Huge Numbers

Gcd Iterative Euclidean

Double Factorial

Linear Recurrence Matrix

Number of Positive Divisors

Fibonacci Sum

Binomial Calculate

Large Factorial

Binary Exponent

Fibonacci Numbers



Fibonacci Large

Eulers Totient Function

Vector Cross Product

Inv Sqrt

Prime Factorization

Integral Approximation

Approximate Pi


Finding Number of Digits in a Number

Check Factorial

Large Number


Pascal Triangle

Spiral Print

Numerical Analysis

Lu Decomposition

Gaussian Elimination

Numerical Methods

Inverse Fast Fourier Transform

Successive Approximation

Durand Kerner Roots

Brent Method Extrema

Qr Eigen Values

False Position

Newton Raphson Method

Composite Simpson Rule

Ode Semi Implicit Euler

Fast Fourier Transform

Babylonian Method

Golden Search Extrema

Ode Forward Euler

Ode Midpoint Euler

Midpoint Integral Method

Operations on Datastructures

Intersection of Two Arrays

Get Size of Linked List

Circular Queue Using Array


Reverse a Linked List Using Recusion

Inorder Successor of Bst


Stairs Pattern

Vector Important Functions

Sparse Matrix

Iterative Tree Traversals

Happy Number

Buzz Number

Paranthesis Matching

Fast Integer Input

Lru Cache

Decimal to Roman Numeral

Tower of Hanoi

Kadanes 3

Smallest Circle

Recursive Tree Traversal

Palindrome of Number


Ground to Ground Projectile Motion


Poisson Dist

Geometric Dist

Addition Rule

Binomial Dist

Windowed Median

Bayes Theorem

Range Queries

Heavy Light Decomposition

Prefix Sum Array

Persistent Seg Tree Lazy Prop

Sparse Table

Sparse Table


Saddleback Search

Interpolation Search

Text Search

Hash Search

Ternary Search

Median Search 2

Floyd Cycle Detection Algo

Jump Search

Binary Search



Median Search

Fibonacci Search

Exponential Search

Sublist Search

Interpolation Search 2

Linear Search



Comb Sort

Bitonic Sort

Binary Insertion Sort


Selection Sort Recursive

Radix Sort

Wave Sort

Gnome Sort

Swap Sort

Odd Even Sort

Insertion Sort



Non Recursive Merge Sort

Dnf Sort

Tim Sort

Heap Sort



Library Sort

Quick Sort 3

Counting Sort String

Radix Sort 2

Pancake Sort

Counting Sort

Bogo Sort

Bucket Sort

Cocktail Selection Sort

Bubble Sort



Bead Sort

Merge Insertion Sort

Recursive Bubble Sort

Numeric String Sort

Count Inversions

Quick Sort



Cycle Sort

Shell Sort

Selection Sort Iterative

Wiggle Sort

Strand Sort

Random Pivot Quick Sort

Shell Sort 2

Pigeonhole Sort

Topological Sort


Hamming Distance

Manacher Algorithm

Knuth Morris Pratt

Brute Force String Searching

Z Function

Rabin Karp