The Algorithms logo
The Algorithms

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


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


Decimal to Binary

Decimal to Hexadecimal

CPU Scheduling Algorithms
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


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

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

Fibonacci Numbers



Memory Game


Graham Scan Algorithm

Graham Scan Functions

Jarvis Algorithm

Line Segment Intersection




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


Hamiltons Cycle

Hopcroft Karp

Is Graph Bipartite

Is Graph Bipartite 2



Max Flow with Ford Fulkerson and Edmond Karp Algo

Topological Sort by Kahns Algo

Travelling Salesman Problem


Greedy Algorithms

Boruvkas Minimum Spanning Tree

Kruskals Minimum Spanning Tree

Prims Minimum Spanning Tree



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


Armstrong Number

Aliquot Sum

Approximate Pi

Armstrong Number

Binary Exponent

Binomial Calculate

Check Amicable Pair

Check Factorial

Complex Numbers

Double Factorial


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


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


Bisection Method

Qr Decomposition

Matrix Exponentiation


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



Buzz Number

Decimal to Roman Numeral

Fast Integer Input

Iterative Tree Traversals

Kadanes 3

Kelvin to Celsius

Lru Cache

Palindrome of Number

Paranthesis Matching

Recursive Tree Traversal

Smallest Circle

Sparse Matrix

Stairs Pattern

Tower of Hanoi

Vector Important Functions


Ground to Ground Projectile Motion


Addition Rule

Bayes Theorem

Binomial Dist

Geometric Dist

Poisson Dist

Windowed Median

Range Queries

Heavy Light Decomposition

Persistent Seg Tree Lazy Prop

Prefix Sum Array


Binary Search



Exponential Search

Fibonacci Search

Floyd Cycle Detection Algo

Hash Search

Interpolation Search

Interpolation Search 2

Jump Search

Linear Search



Median Search

Median Search 2

Saddleback Search

Sublist Search

Ternary Search

Text Search


Topological Sort

Bead Sort

Binary Insertion Sort

Bitonic Sort

Bogo Sort

Bubble Sort



Bucket Sort

Cocktail Selection Sort

Comb Sort

Count Inversions

Counting Sort

Counting Sort String

Cycle Sort

Dnf Sort

Gnome Sort

Heap Sort



Insertion Sort



Library Sort

Merge Insertion Sort

Non Recursive Merge Sort

Numeric String Sort

Odd Even Sort

Pancake Sort

Pigeonhole Sort

Quick Sort



Quick Sort 3

Radix Sort

Radix Sort 2

Random Pivot Quick Sort

Recursive Bubble Sort

Selection Sort Iterative

Selection Sort Recursive

Shell Sort

Shell Sort 2


Stooge Sort

Strand Sort

Swap Sort

Tim Sort

Wave Sort

Wiggle Sort


Hamming Distance

Boyer Moore

Brute Force String Searching


Knuth Morris Pratt

Manacher Algorithm

Rabin Karp

Z Function