The Algorithms logo
The Algorithms


Equilibrium Index in Array

Find Triplets with 0 Sum

Index 2d Array in 1d

Kth Largest Element

Median Two Array

Monotonic Array

Pairs with Given Sum

Basic Binary Tree

Binary Search Tree

Binary Search Tree Recursive

Binary Tree Mirror

Binary Tree Node Sum

Binary Tree Path Sum

Binary Tree Traversals

Diameter of Binary Tree

Diff Views of Binary Tree

Flatten Binarytree to Linkedlist

Floor and Ceiling

Inorder Tree Traversal 2022

Lazy Segment Tree

Lowest Common Ancestor

Maximum Fenwick Tree

Merge Two Binary Trees

Mirror Binary Tree

Non Recursive Segment Tree

Number of Possible Binary Trees

Segment Tree Other

Serialize Deserialize Binary Tree

Alternate Disjoint Set

Disjoint Set

Hash Table with Linked List

Quadratic Probing

Binomial Heap

Randomized Heap

Circular Linked List

Doubly Linked List

Doubly Linked List Two

Floyds Cycle Detection

Is Palindrome

Merge Two Lists

Middle Element of Linked List

Reverse K Group

Rotate to the Right

Singly Linked List

Circular Queue Linked List

Double Ended Queue

Priority Queue Using List

Queue by Two Stacks

Queue on Pseudo Stack

Balanced Parentheses

Dijkstras Two Stack Algorithm

Infix to Postfix Conversion

Infix to Prefix Conversion

Next Greater Element

Postfix Evaluation

Prefix Evaluation

Stack Using Two Queues

Stack with Doubly Linked List

Stack with Singly Linked List

Stock Span Problem

Local Maximom Point

Number Of Local Maximum Points

Key Priority Queue

Min Priority Queue

Add Two Numbers

Cycle Detection

Cycle Detection II

Merge Two Sorted Linked Lists

Reverse Singly Linked List

Singly Circular Linked List

Queue Using 2 Stacks

Evaluate Expression

Binary Search Tree 2

Circular Queue Using 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 Two Stacks

Reverse a Linked List

Stack Using Array

Stack Using Queue

Trie Using Hashmap

Circular Buffer

LWW Element Set

Disjoint Set Union

Dynamic Array

Bipartite Grapf DFS

Boruvka Algorithm

Connected Component


Kahns Algorithm

Tarjans Algorithm

Generic Hash Map Using Array

Generic Hash Map Using Array List

Hash Map Cuckoo Hashing

Linear Probing Hash Map

Empty Heap Exception

Fibonacci Heap

Circle Linked List

Count Singly Linked List Recursion

Create And Detect Loop

Cursor 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

Generic Array List Queue

Priority Queues

Stack Array List

BST From Sorted Array

BST Iterative

BST Recursive

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

Red Black BST

Same Trees Check

Tree Random Node

Vertical Order Traversal

Zigzag Traversal

Nearest Right Key

Recursive Traversals

Threaded Binary Trees

Words Alphabetical

Transitive Closure

Ascending Priority Queue

Circular Doubly Linked List

Merge Linked Lists

Middle Element in List

Queue Linked List

Singly Link List Deletion

Floyds Algorithm

Count Min Sketch

Range Minimum Query

Segment Tree Recursive

Cycle in Linked List

Merge Sorted List

Find All Duplicates in an Array

Find the Highest Altitude

Get Products of All Other Elements

Maximum Product Subarray

Remove Elements

Richest Customer Wealth

Shortest Word Distance

Sort Squares of an Array

Sorted Arrays Intersection

Almost Palindrome Checker

Disjoint Sets

Unweighted Graph

Arrays Intersection

Common Characters

Data Structure

Basic Binary Search Tree

Linked Deque

Prefix Aggregate List

Undirected Graph