The Algorithms logo
The Algorithms
AboutDonate
Backtracking

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

Blockchain

Modular Division

Ciphers

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

Compression
Conversions

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

Morrisinorder

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

Geometry

Line Segment Intersection

Graham Scan Algorithm

Graham Scan Functions

Jarvis Algorithm

Graphics

Spirograph

Graphs

Bellman Ford

Bidirectional Dijkstra

Hopcroft Karp

Topological Sort by Kahns Algo

Travelling Salesman Problem

Depth First Search with Stack

Kruskal

Is Graph Bipartite

Breadth First Search

Kosaraju

Connected Components with Dsu

Depth First Search

Dijkstra

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

Dijkstra

Greedy Algorithms

Prims Minimum Spanning Tree

Kruskals Minimum Spanning Tree

Hashing

Chaining

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

Math

Bisection Method

Qr Decomposition

Runge Kutta

Pascal Triangle

Matrix Exponentiation

Armstrong Number

Lcm Sum

Power of Two

Armstrong Number

Volume

N Choose R

Prime Numbers

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

Check Prime

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

+11

More

Fibonacci Large

Eulers Totient Function

Vector Cross Product

Inv Sqrt

Prime Factorization

Integral Approximation

Approximate Pi

Perimeter

Finding Number of Digits in a Number

Check Factorial

Large Number

Matrix

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

Selectionsortlinkedlist

Reverse a Linked List Using Recusion

Inorder Successor of Bst

Others

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

Probability

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

Searches

Saddleback Search

Interpolation Search

Text Search

Hash Search

Ternary Search

Median Search 2

Floyd Cycle Detection Algo

Jump Search

Binary Search

+13

More

Median Search

Fibonacci Search

Exponential Search

Sublist Search

Interpolation Search 2

Linear Search

+11

More
Sorts

Comb Sort

Bitonic Sort

Binary Insertion Sort

Slowsort

Selection Sort Recursive

Radix Sort

Wave Sort

Gnome Sort

Swap Sort

Odd Even Sort

Insertion Sort

+17

More

Non Recursive Merge Sort

Dnf Sort

Tim Sort

Heap Sort

+13

More

Library Sort

Quick Sort 3

Counting Sort String

Radix Sort 2

Pancake Sort

Counting Sort

Bogo Sort

Bucket Sort

Cocktail Selection Sort

Bubble Sort

+18

More

Bead Sort

Merge Insertion Sort

Recursive Bubble Sort

Numeric String Sort

Count Inversions

Quick Sort

+18

More

Cycle Sort

Shell Sort

Selection Sort Iterative

Wiggle Sort

Strand Sort

Random Pivot Quick Sort

Shell Sort 2

Pigeonhole Sort

Topological Sort

Strings

Hamming Distance

Manacher Algorithm

Knuth Morris Pratt

Brute Force String Searching

Z Function

Rabin Karp

Horspool