The Algorithms logo
The Algorithms
Audio Filters

All Paths From Source To Target

Array Combination


Knights Tour

Maze Recursion

Parentheses Generator


Subsequence Finder

Word Search

Hamiltonian Cycle

Sudoku Solver

Bit Manipulation

Highest Set Bit

Index of Rightmost Set Bit

Non Repeating Number Finder

Numbers Different Signs

Single Bit Operations


AES Encryption

Affine Cipher


Columnar Transposition Cipher

Hill Cipher

Playfair Cipher


Product Cipher

Simple Sub Cipher


A 5 Cipher

A 5 Key Stream Generator


Composite LFSR


Any Base To Any Base

Any Base To Decimal

Binary to Decimal

Binary to Hexadecimal

Binary to Octal

Decimal To Any Base

Decimal to Binary

Decimal to Hexadecimal

Decimal to Octal

Hex To Oct

Hexa Decimal To Binary

Hexadecimal to Decimal

Integer To Roman

Octal to Binary

Octal to Decimal

Octal to Hexadecimal

Rgb Hsv Conversion

Roman To Integer

Turkish To Latin Conversion

CPU Scheduling Algorithms
Data Structures

LWW Element Set

Disjoint Set Union

Dynamic Array

Bipartite Grapf DFS

Boruvka Algorithm

Connected Component


Tarjans Algorithm

Generic Hash Map Using Array

Generic Hash Map Using Array List

Hash Map Cuckoo Hashing

Linear Probing Hash Map

Empty Heap Exception

Min Priority Queue

Circle Linked List

Count Singly Linked List Recursion

Create And Detect Loop

Cursor Linked List

Doubly Linked List

Merge Sorted Array List

Merge Sorted Singly Linked List

Merge K Sorted Linkedlist

Quick Sort Linked List

Rotate Singly Linked Lists

Search Singly Linked List Recursion

Singly Linked List

Generic Array List Queue

Stack Array List

Stack with Singly Linked List

BST From Sorted Array

BST Recursive Generic

Ceil In Binary Search Tree

Check Binary Tree Is Valid BST

Check If Binary Tree Balanced

Check Tree Is Symmetric

Create Binary Tree From Inorder Preorder

Inorder Traversal

Level Order Traversal

Post Order Traversal

Pre Order Traversal

Print Top Viewof Tree

Same Trees Check

Tree Random Node

Vertical Order Traversal

Zigzag Traversal

Nearest Right Key

Queue Using Two Stacks

Next Greater Element


Process Details

Large Tree Node

Simple Node

Simple Tree Node

Matrix Search Algorithm

Search Algorithm

Digital Image Processing
Divide and Conquer

Skyline Algorithm

Strassen Matrix Multiplication

Dynamic Programming

Floyd Warshall

Brute Force Knapsack

Count Friends Pairing

Fibonacci Numbers



Kadane Algorithm

Knapsack Memoization

Longest Alternating Subsequence

Longest Common Subsequence

Longest Increasing Subsequence

Longest Palindromic Subsequence

Longest Palindromic Substring

Longest Valid Parentheses

Matrix Chain Multiplication

Matrix Chain Recursive Top Down Memoisation

Minimum Sum Partition

New Man Shanks Prime

Optimal Job Scheduling

Palindromic Partitioning

Partition Problem

Shortest Common Supersequence Length

Wildcard Matching

Fibonacci Numbers



Longest Palindromic Substring


Koch Snowflake



Bellman Ford



Prim MST

Minimum Path Sum


Page Rank

Breadth First Search

Depth First Search

Greedy Algorithms

Job Sequencing

Minimizing Lateness

Greedy Methods

Fractional Knapsack


Buffered Reader


Binary Exponentiation

ADT Fraction

Absolute Max

Absolute Min

Absolute Value

Aliquot Sum

Amicable Number

Armstrong Number

Auto Correlation

Automorphic Number


Binary Pow

Binomial Coefficient

Circular Convolution FFT

Collatz Conjecture



Convolution FFT

Cross Correlation

Determinant Of Matrix

Digital Root

Distance Formula

Dudeney Number

Euler Method

FFT Bluestein

Factorial Recursion

Fast Inverse Sqrt

Fibonacci Java Streams

Fibonacci Loop

Fibonacci Number Check

Fibonacci Number Golden Ration

Find Kth Number

Find Max

Find Max Recursion

Find Min

Find Min Recursion

Frizzy Number

GCD Recursion


Generic Root

Harshad Number

Herons Formula

Josephus Problem

Juggler Sequence

Kaprekar Numbers

Keith Number

Krishnamurthy Number

Least Common Multiple

Leonardo Number

Linear Diophantine Equations Solver

Liouville Lambda Function

Long Division

Lucas Series

Magic Square

Matrix Rank

Matrix Util

Max Value


Miller Rabin Primality Check

Min Value

Mobius Function

Non Repeating Element

Number of Digits

Palindrome Number

Parse Integer

Perfect Cube

Perfect Number

Perfect Square


Pi Nilakantha

Pollard Rho

Power Of Two Or Not

Power Using Recursion

Prime Factorization

Pythagorean Triple

Reverse Number

Roman Numeral Util

Second Min Max

Simpson Integration

Square Free Integer

Square Root With Babylonian Method

Square Root With Newton Raphson Method

Standard Deviation

Standard Score

Strobogrammatic Number

Sum of Arithmetic Series

Sum of Digits

Sum Without Arithmetic Operators

Trinomial Triangle

Twin Prime

Vampire Number

Vector Cross Product


Sieve of Eratosthenes


Pascal Triangle

Inverse of Matrix

Networking Flow

Ford Fulkerson

Operations on Datastructures

Lfu Cache

Lru Cache

Graham Scan

Activity Selection

Color Contrast Ratio

Map Reduce

Median Of Matrix

Median Of Running Array

Median Of Running Array Byte

Median Of Running Array Double

Median Of Running Array Float

Median Of Running Array Integer

Median Of Running Array Long

Mirror Of Matrix

Palindrome Prime

Palindrome Singly Linked List

Range In Sorted Array

Sort 012 D


Three Sum Problem

Two Sum Problem

Word Boggle

Matrix Transpose

Bankers Algorithm

Brian Kernighan Algorithm

CRC Algorithm

Count Char

Count Words

Eulers Function

Fibbonaci Series

Floyd Triangle

Guass Legendre

Happy Numbers Seq

Implementing Auto Completing Features Using Trie

Insert Delete In Array


Line Sweep

Linear Congruential Generator

Lowest Base Palindrome

Maximum Sum Of Distinct Subarrays With Length K

Memory Management Algorithms

Mini Max Algorithm

Password Gen

Perlin Noise

Print A Matrix In Spiral Order

Remove Duplicate From String

Return Subsequence

Reverse Stack Using Recursion

Root Precision

Rotate Matrix By 90 Degrees

Skyline Problem

String Match Finite Automata

Tower of Hanoi

Two Pointers


Count Set Bits


Flood Fill


Preemptive Priority Scheduling

RR Scheduling

SJF Scheduling

SRTF Scheduling


Binary Search



Binary Search 2d Array

Exponental Search

Fibonacci Search

How Many Times Rotated

Interpolation Search

Iterative Binary Search

Iterative Ternary Search

Jump Search

KMP Search

Linear Search



Linear Search Thread

Lower Bound

Monte Carlo Tree Search

Order Agnostic Binary Search

Perfect Binary Search

Quick Select

Rabin Karp Algorithm

Recursive Binary Search

Row Column Wise Sorted 2d Array Binary Search

Saddleback Search

Search In A Row And Col Wise Sorted Matrix

Square Root Binary Search

Ternary Search

Union Find

Upper Bound

Sort Order Agnostic Binary Search


Bead Sort

Binary Insertion Sort

Bitonic Sort

Bogo Sort

Bubble Sort



Bubble Sort Recursion

Bucket Sort

Circle Sort

Cocktail Shaker Sort

Comb Sort

Counting Sort

Cycle Sort

Dnf Sort

Dual Pivot Quick Sort

Dutch National Flag Sort

Exchange Sort

Gnome Sort

Heap Sort



Insertion Sort



Introspective Sort

Link List Sort

Merge Sort No Extra Space

Merge Sort Recursive

Odd Even Sort

Pancake Sort

Pigeonhole Sort

Quick Sort



Radix Sort

Selection Sort



Shell Sort

Simple Sort


Sort Algorithm

Sort Utils

Sort Utils Random Generator

Stooge Sort

Strand Sort

Swap Sort

Tim Sort

Topological Sort

Tree Sort

Wiggle Sort


Balanced Brackets

Decimal To Any Using Stack

Duplicate Brackets

Infix To Postfix

Largest Rectangle

Maximum Minimum Window

Next Smaller Element

Postfix To Infix

Stack Postfix Notation


Levenshtein Distance

Boyer Moore

Rabin Karp

Hamming Distance

Aho Corasick


Characters Same

Check Anagram

Check Vowels

Hamming Distance

Horspool Search


Letter Combinations Of Phone Number


Permute String

Reverse String

Reverse String Recursive

Reverse Words In String

String Compression

Valid Parentheses

Word Ladder

Longest Non Repeative Substring

Zig Zag Pattern