The Algorithms logo
The Algorithms



N Queens All Solution Optimised

Knight Tour

Subarray Sum

Sudoku Solve

Nqueen Print All Solutions

Magic Sequence

Wildcard Matching

Graph Coloring

Bit Manipulation

Count of Trailing Ciphers in Factorial N

Count of Set Bits


Modular Division


Elliptic Curve Key Exchange

Xor Cipher

Uint 128 T

Caesar Cipher

A 1z 26 Cipher

Morse Code

Base 64 Encoding

Hill Cipher

Uint 256 T

Atbash Cipher

Vigenere Cipher


Decimal to Hexadecimal

Decimal to Binary

CPU Scheduling Algorithms
Data Structures

Trie Using Hashmap

Doubly Linked List

Linkedlist Implentation Usingarray

Binary Search Tree 2

Queue Using Linked List

Stack Using Array

Queue Using Array

Circular Queue Using Linked List

Queue Using Array 2


Queue Using Linked List

Dsu Union Rank

Stack Using Linked List

Stack Using Queue

Dsu Path Compression

Reverse a Linked List

Queue Using Two Stacks

Postfix Evaluation

Circular Linked List

Lowest Common Ancestor

Divide and Conquer

Karatsuba Algorithm for Fast Multiplication

Dynamic Programming

Searching of Element in Dynamic Array

Coin Change Topdown

Matrix Chain Multiplication

Longest Increasing Subsequence (Nlogn)

Egg Dropping Puzzle

Partition Problem

Palindrome Partitioning

Fibonacci Bottom Up

Longest Palindromic Subsequence

Longest Increasing Subsequence

Minimum Edit Distance

Longest Common Subsequence

Longest Common String


Jarvis Algorithm

Graham Scan Functions

Graham Scan Algorithm

Line Segment Intersection





Bellman Ford



Topological Sort by Kahns Algo

Max Flow with Ford Fulkerson and Edmond Karp Algo

Bridge Finding with Tarjan Algorithm

Depth First Search with Stack

Is Graph Bipartite

Hamiltons Cycle

Connected Components


Depth First Search

Cycle Check Directed Graph

Breadth First Search

Bidirectional Dijkstra

Connected Components with Dsu

Hopcroft Karp

Is Graph Bipartite 2

Travelling Salesman Problem

Greedy Algorithms

Kruskals Minimum Spanning Tree

Prims Minimum Spanning Tree


Double Hash Hash Table


Linear Probing Hash Table

Quadratic Probing Hash Table

Linear Algebra

Gram Schmidt

Machine Learning

Neural Network

Ordinary Least Squares Regressor

Adaline Learning

Kohonen Som Topology

Kohonen Som Trace


Matrix Exponentiation

Pascal Triangle

Armstrong Number

Runge Kutta

Qr Decomposition

Bisection Method

Large Factorial

Gcd Recursive Euclidean

Number of Positive Divisors

Lcm Sum

Finding Number of Digits in a Number

Inv Sqrt

Gcd Iterative Euclidean

Magic Number

Sqrt Double

Fast Power

Large Number

Sum of Binomial Coefficient

Armstrong Number

Largest Power

Binary Exponent

Fibonacci Matrix Exponentiation

Check Prime

Primes up to Billion

Modular Exponentiation

N Bonacci

Sieve of Eratosthenes

Sum of Digits

Complex Numbers

Fibonacci Large

Least Common Multiple

Integral Approximation

Integral Approximation 2

Binomial Calculate

Prime Factorization

Double Factorial

Power of Two

Ncr Modulo P

Eulers Totient Function

Check Amicable Pair

Check Factorial

N Choose R

Modular Inverse Fermat Little Theorem


Linear Recurrence Matrix

Power for Huge Numbers

Fibonacci Fast

String Fibonacci

Realtime Stats

Miller Rabin

Vector Cross Product

Gcd of N Numbers

Fibonacci Numbers

Fibonacci Sum

Extended Euclid Algorithm


Spiral Print

Numerical Analysis

Gaussian Elimination

Lu Decomposition

Numerical Methods

False Position

Composite Simpson Rule

Ode Midpoint Euler

Midpoint Integral Method

Qr Eigen Values

Babylonian Method

Newton Raphson Method

Inverse Fast Fourier Transform

Fast Fourier Transform

Ode Forward Euler

Successive Approximation

Ode Semi Implicit Euler

Golden Search Extrema

Durand Kerner Roots

Brent Method Extrema

Operations on Datastructures

Reverse a Linked List Using Recusion

Circular Queue Using Array

Intersection of Two Arrays


Inorder Successor of Bst

Get Size of Linked List


Vector Important Functions

Fast Integer Input

Kadanes 3

Paranthesis Matching

Lru Cache

Smallest Circle

Iterative Tree Traversals

Happy Number

Tower of Hanoi

Sparse Matrix

Stairs Pattern

Buzz Number

Palindrome of Number

Decimal to Roman Numeral


Windowed Median

Binomial Dist

Geometric Dist

Poisson Dist

Bayes Theorem

Addition Rule

Range Queries

Prefix Sum Array

Heavy Light Decomposition

Persistent Seg Tree Lazy Prop


Interpolation Search

Linear Search



Floyd Cycle Detection Algo

Hash Search

Exponential Search

Saddleback Search

Text Search

Binary Search



Sublist Search

Jump Search

Ternary Search

Fibonacci Search

Median Search

Interpolation Search 2


Random Pivot Quick Sort

Heap Sort



Pancake Sort

Quick Sort 3

Numeric String Sort

Odd Even Sort

Recursive Bubble Sort

Selection Sort Iterative

Shell Sort 2

Radix Sort 2

Comb Sort

Bubble Sort



Quick Sort



Selection Sort Recursive

Counting Sort

Insertion Sort



Radix Sort

Pigeonhole Sort

Swap Sort

Gnome Sort

Shell Sort

Library Sort

Counting Sort String

Dnf Sort

Cycle Sort

Bitonic Sort

Bogo Sort

Merge Insertion Sort

Wave Sort

Non Recursive Merge Sort

Wiggle Sort

Count Inversions


Bucket Sort

Cocktail Selection Sort

Strand Sort

Tim Sort

Bead Sort

Topological Sort


Rabin Karp


Z Function

Manacher Algorithm

Knuth Morris Pratt

Brute Force String Searching

Hamming Distance