The Algorithms logo
The Algorithms

Wildcard Matching

Subarray Sum

N Queens All Solution Optimised

Nqueen Print All Solutions

Graph Coloringg

Knight Tour

Magic Sequence

Sudoku Solve

Bit Manipulation

Count of Set Bits

Count Bits Flip

Count of Trailing Ciphers in Factorial N


Modular Division


Uint 128 T

Morse Code

Uint 256 T

A 1z 26 Cipher

Base 64 Encoding

Elliptic Curve Key Exchange

Vigenere Cipher

Atbash Cipher

Caesar Cipher

Hill Cipher

Xor Cipher


Decimal to Binary

Decimal to Hexadecimal

CPU Scheduling Algorithms
Data Structures

Postfix Evaluation

Queue Using Linked List

Doubly Linked List

Binary Search Tree

Reverse a Linked List

Stack Using Array

Queue Using Array


Binary Search Tree 2

Stack with Singly Linked List

Trie Using Hashmap

Queue Using Two Stacks

Dsu Union Rank

Dsu Path Compression

Linkedlist Implentation Usingarray

Stack Using Queue

Circular Queue Using Linked List

Queue Using Linked List

Queue Using Array 2

Circular Linked List

Lowest Common Ancestor

Divide and Conquer

Karatsuba Algorithm for Fast Multiplication

Dynamic Programming

Longest Increasing Subsequence (Nlogn)

Partition Problem

Longest Palindromic Subsequence

Palindrome Partitioning

Matrix Chain Multiplication

Longest Common String

Minimum Edit Distance

Longest Common Subsequence

Fibonacci Bottom Up

Coin Change Topdown

Egg Dropping Puzzle

Searching of Element in Dynamic Array

Shortest Common Supersequence

Longest Increasing Subsequence

Fibonacci Numbers


Graham Scan Functions

Line Segment Intersection

Jarvis Algorithm

Graham Scan Algorithm




Bellman Ford

Bridge Finding with Tarjan Algorithm

Hopcroft Karp

Depth First Search

Bidirectional Dijkstra

Connected Components with Dsu

Depth First Search with Stack

Is Graph Bipartite 2

Is Graph Bipartite


Breadth First Search

Max Flow with Ford Fulkerson and Edmond Karp Algo

Connected Components

Travelling Salesman Problem

Cycle Check Directed Graph

Hamiltons Cycle

Topological Sort by Kahns Algo




Greedy Algorithms

Prims Minimum Spanning Tree

Kruskals Minimum Spanning Tree


Linear Probing Hash Table

Quadratic Probing Hash Table


Double Hash Hash Table

Linear Algebra

Gram Schmidt

Machine Learning

Kohonen Som Trace

Kohonen Som Topology

Adaline Learning

Neural Network

Ordinary Least Squares Regressor


Pascal Triangle

Matrix Exponentiation

Armstrong Number

Qr Decomposition

Runge Kutta

Bisection Method

Check Prime

Gcd Recursive Euclidean

Modular Inverse Fermat Little Theorem

Fibonacci Large

Check Factorial

Magic Number

Finding Number of Digits in a Number

Extended Euclid Algorithm

Inv Sqrt

Fibonacci Sum


N Bonacci

Miller Rabin

Prime Factorization

Power for Huge Numbers


Power of Two

Approximate Pi

N Choose R

Modular Exponentiation

Lcm Sum

Largest Power

Sum of Binomial Coefficient

Sqrt Double

Armstrong Number

Prime Numbers

Gcd of N Numbers

Fibonacci Fast

Realtime Stats

Gcd Iterative Euclidean

Large Factorial

Least Common Multiple

Check Amicable Pair

Large Number

Fast Power

Integral Approximation 2

Primes up to Billion

Sum of Digits

Binomial Calculate

Double Factorial

Integral Approximation

Sieve of Eratosthenes

Eulers Totient Function

Ncr Modulo P

Vector Cross Product

Linear Recurrence Matrix

Complex Numbers

Binary Exponent

Number of Positive Divisors

String Fibonacci

Fibonacci Matrix Exponentiation


Spiral Print

Numerical Analysis

Lu Decomposition

Gaussian Elimination

Numerical Methods

Brent Method Extrema

Inverse Fast Fourier Transform

Successive Approximation

Babylonian Method

Fast Fourier Transform

Ode Forward Euler

Ode Midpoint Euler

Newton Raphson Method

Composite Simpson Rule

Durand Kerner Roots

Qr Eigen Values

Ode Semi Implicit Euler

Golden Search Extrema

Midpoint Integral Method

False Position

Operations on Datastructures


Circular Queue Using Array

Reverse a Linked List Using Recusion

Inorder Successor of Bst

Get Size of Linked List

Intersection of Two Arrays


Stairs Pattern

Palindrome of Number

Vector Important Functions

Lru Cache

Decimal to Roman Numeral

Buzz Number

Sparse Matrix

Recursive Tree Traversal

Iterative Tree Traversals

Kadanes 3

Fast Integer Input

Happy Number

Smallest Circle

Paranthesis Matching

Tower of Hanoi


Bayes Theorem

Poisson Dist

Binomial Dist

Windowed Median

Addition Rule

Geometric Dist

Range Queries

Sparse Table

Prefix Sum Array

Persistent Seg Tree Lazy Prop

Heavy Light Decomposition

Sparse Table


Binary Search



Median Search

Jump Search

Exponential Search

Interpolation Search

Text Search

Floyd Cycle Detection Algo

Saddleback Search

Linear Search



Ternary Search

Hash Search

Sublist Search

Interpolation Search 2

Fibonacci Search


Library Sort

Wiggle Sort

Gnome Sort

Bead Sort

Bogo Sort

Random Pivot Quick Sort

Tim Sort

Radix Sort

Comb Sort

Bucket Sort

Swap Sort

Shell Sort 2

Insertion Sort



Shell Sort

Recursive Bubble Sort

Cocktail Selection Sort

Counting Sort

Odd Even Sort

Wave Sort

Count Inversions

Numeric String Sort

Strand Sort

Selection Sort Iterative

Pigeonhole Sort

Counting Sort String

Non Recursive Merge Sort

Dnf Sort

Selection Sort Recursive

Heap Sort



Pancake Sort

Bitonic Sort

Quick Sort 3


Binary Insertion Sort

Quick Sort



Radix Sort 2

Bubble Sort



Cycle Sort

Merge Insertion Sort

Topological Sort


Z Function

Knuth Morris Pratt

Rabin Karp


Manacher Algorithm

Brute Force String Searching

Hamming Distance