The
Code
Forge
.io
Tracks
Python
135
Java
183
JavaScript
148
DSA
185
Database
117
System Design
78
DevOps
144
ML / AI
108
C / C++
65
C# / .NET
55
CS Fundamentals
73
PHP
55
Interview
76
Guides
Cheat Sheets
Tools
Browse All Tracks
Python
135
Java
183
JavaScript
148
DSA
185
Database
117
System Design
78
DevOps
144
ML / AI
108
C / C++
65
C# / .NET
55
CS Fundamentals
73
PHP
55
Interview
76
Cheat Sheets
Guides
Tools
Interview Prep
DSA Track
DSA Tutorials
Data structures and algorithms — arrays, trees, graphs, dynamic programming and more.
185
Topics
31
Beginner
90
Intermediate
64
Advanced
📋 Complete DSA Guide — all 185 topics →
Arrays & Strings
Array Data Structure
Beginner
Two Pointer Technique
Intermediate
Sliding Window Technique
Intermediate
Prefix Sum Array
Intermediate
Kadane's Algorithm
Intermediate
Dutch National Flag Algorithm
Intermediate
String Manipulation Patterns
Intermediate
Anagram and Palindrome Problems
Beginner
Matrix Traversal Patterns
Intermediate
Rotate Array Problem
Intermediate
Merge Intervals Problem
Intermediate
Next Permutation Algorithm
Advanced
Maximum Product Subarray
Intermediate
Linked List
Singly Linked List
Beginner
Doubly Linked List
Intermediate
Circular Linked List
Intermediate
Reverse a Linked List
Intermediate
Detect Loop in Linked List
Intermediate
Merge Two Sorted Linked Lists
Intermediate
Find Middle of Linked List
Beginner
Remove Nth Node from End
Intermediate
LRU Cache Implementation
Advanced
Clone a Linked List with Random Pointers
Advanced
Stack & Queue
Stack Data Structure
Beginner
Queue Data Structure
Beginner
Priority Queue and Heap
Intermediate
Deque — Double Ended Queue
Intermediate
Monotonic Stack Pattern
Advanced
Balanced Parentheses Problem
Beginner
Next Greater Element Problem
Intermediate
Implement Stack using Queue
Intermediate
Stack vs Heap Memory: What Every Developer Must Know
Intermediate
Monotonic Stack: Pattern, Use Cases and Coding Examples
Intermediate
Trees
Binary Tree
Intermediate
Binary Search Tree
Intermediate
Tree Traversals — Inorder Preorder Postorder
Intermediate
Level Order Traversal of Binary Tree
Intermediate
Height and Depth of Binary Tree
Beginner
AVL Tree
Advanced
Red-Black Tree
Advanced
Segment Tree
Advanced
Fenwick Tree — Binary Indexed Tree
Advanced
Trie Data Structure
Advanced
Lowest Common Ancestor
Advanced
Diameter of Binary Tree
Intermediate
Convert BST to Sorted Array
Intermediate
Serialize and Deserialize Binary Tree
Advanced
Morris Traversal of Binary Tree
Advanced
Graphs
Graph Representation
Intermediate
BFS — Breadth First Search
Intermediate
DFS — Depth First Search
Intermediate
Dijkstra Shortest Path Algorithm
Advanced
Bellman-Ford Algorithm
Advanced
Floyd-Warshall Algorithm
Advanced
Topological Sort
Advanced
Union Find — Disjoint Set
Advanced
Minimum Spanning Tree — Kruskal and Prim
Advanced
Cycle Detection in Graph
Intermediate
Bipartite Graph Check
Intermediate
Number of Islands Problem
Intermediate
Strongly Connected Components
Advanced
A* Search Algorithm
Advanced
Maximum Flow — Ford-Fulkerson and Edmonds-Karp Algorithm
Advanced
Eulerian Path and Circuit — Hierholzer's Algorithm
Intermediate
Articulation Points and Bridges in Graphs
Advanced
Sorting
Bubble Sort
Beginner
Selection Sort
Beginner
Insertion Sort
Beginner
Merge Sort
Intermediate
Quick Sort
Intermediate
Heap Sort
Intermediate
Counting Sort and Radix Sort
Intermediate
Sorting Algorithm Comparison
Beginner
Searching
Binary Search Algorithm
Beginner
Binary Search on Answer
Advanced
Linear Search Algorithm
Beginner
Ternary Search Algorithm
Advanced
Jump Search Algorithm
Beginner
Interpolation Search Algorithm
Intermediate
Exponential Search and Fibonacci Search
Intermediate
Bidirectional Search Algorithm
Intermediate
Dynamic Programming
Introduction to Dynamic Programming
Intermediate
Memoization vs Tabulation
Intermediate
0/1 Knapsack Problem
Advanced
Longest Common Subsequence
Advanced
Longest Increasing Subsequence
Advanced
Coin Change Problem
Advanced
Matrix Chain Multiplication
Advanced
Edit Distance Problem
Advanced
Rod Cutting Problem
Advanced
Fibonacci with DP
Beginner
Subset Sum Problem
Advanced
Egg Drop Problem
Advanced
Word Break Problem
Advanced
Palindrome Partitioning
Advanced
DP on Trees
Advanced
Hashing
Hash Table and Hash Map
Intermediate
Hash Collisions and Resolution
Intermediate
Two Sum Problem using Hashing
Beginner
Group Anagrams Problem
Intermediate
Longest Consecutive Sequence
Intermediate
Rabin-Karp String Matching
Advanced
Cuckoo Hashing
Advanced
SHA-256 — Cryptographic Hash Function
Intermediate
MD5 Hash Algorithm
Intermediate
Universal Hashing and Perfect Hashing
Advanced
Hamming Code — Error Detection and Correction
Intermediate
Greedy & Backtracking
Greedy Algorithm Introduction
Intermediate
Activity Selection Problem
Intermediate
Huffman Coding
Advanced
Backtracking Introduction
Intermediate
N-Queens Problem
Advanced
Sudoku Solver
Advanced
Rat in a Maze Problem
Intermediate
Permutations using Backtracking
Advanced
Fractional Knapsack Problem — Greedy Approach
Intermediate
Job Sequencing Problem with Deadlines
Intermediate
Huffman Encoding — Greedy Data Compression
Intermediate
Interval Scheduling and Meeting Rooms Problem
Intermediate
Gas Station Problem — Greedy Circular Tour
Intermediate
Complexity Analysis
Big O Notation Explained
Beginner
Time Complexity Analysis
Intermediate
Space Complexity Analysis
Intermediate
Amortized Analysis
Advanced
Space Complexity: How to Analyze Memory Usage in Algorithms
Intermediate
Bubble Sort Time Complexity: Best, Average and Worst Case
Beginner
Recursion
Introduction to Recursion
Beginner
Recursion vs Iteration
Intermediate
Tower of Hanoi Problem
Intermediate
Divide and Conquer Technique
Intermediate
Divide and Conquer — Strategy and Patterns
Beginner
Counting Inversions using Merge Sort
Intermediate
Closest Pair of Points — Divide and Conquer
Advanced
Strassen's Matrix Multiplication Algorithm
Advanced
Convex Hull — Graham Scan and Jarvis March
Advanced
Strings
String Searching Algorithms Overview
Beginner
KMP Algorithm — Knuth-Morris-Pratt String Matching
Intermediate
Z-Algorithm for Pattern Matching
Intermediate
Boyer-Moore String Search Algorithm
Intermediate
Manacher's Algorithm — Longest Palindromic Substring
Advanced
Aho-Corasick Multi-Pattern String Matching
Advanced
Suffix Array — Construction and Applications
Advanced
Rolling Hash and Polynomial String Hashing
Intermediate
Number Theory
Sieve of Eratosthenes — Prime Number Generation
Beginner
GCD and LCM — Euclidean Algorithm
Beginner
Prime Factorization and Divisors
Intermediate
Modular Arithmetic — ModExp, ModInverse, Fermat's Theorem
Intermediate
Chinese Remainder Theorem
Advanced
Composite Numbers: Factorization, Primality Testing and Cryptography
Beginner
Scheduling
FCFS Scheduling — First Come First Served
Beginner
SJF Scheduling — Shortest Job First
Beginner
Round Robin Scheduling Algorithm
Intermediate
Priority Scheduling and Aging
Intermediate
Data Compression
Run-Length Encoding — Lossless Compression
Beginner
LZ77 and LZ78 — Dictionary Compression Algorithms
Intermediate
Burrows-Wheeler Transform
Advanced
Arithmetic Coding — Beyond Huffman
Advanced
Numerical Analysis
Newton-Raphson Method — Root Finding
Intermediate
Bisection Method — Numerical Root Finding
Beginner
Numerical Integration — Simpson's Rule and Trapezoidal
Intermediate
Cryptography
Caesar Cipher — Substitution Encryption
Beginner
Vigenère Cipher — Polyalphabetic Encryption
Intermediate
RSA Algorithm — Public Key Cryptography
Advanced
Diffie-Hellman Key Exchange
Advanced
AES — Advanced Encryption Standard
Advanced
Elliptic Curve Cryptography — ECC Explained
Advanced
One-Time Pad — Perfect Secrecy
Intermediate
Digital Signatures — DSA and ECDSA
Advanced
Encryption Algorithms Explained: AES, RSA, DES and More
Intermediate
Public Key Infrastructure (PKI) Explained
Intermediate
Geometry
Line Intersection and Orientation
Intermediate
Polygon Area — Shoelace Formula
Intermediate
Point in Polygon — Ray Casting Algorithm
Intermediate
Rotating Calipers — Diameter and Width
Advanced
Linear Algebra
Matrix Operations — Addition, Multiplication, Transpose
Beginner
Gaussian Elimination — Solving Linear Systems
Intermediate
LU Decomposition
Intermediate
Eigenvalues and Eigenvectors
Advanced
Singular Value Decomposition — SVD
Advanced
Genetic Algorithms
Genetic Algorithms — Evolution-Based Optimisation
Intermediate
Simulated Annealing — Probabilistic Optimisation
Intermediate
Quantum Algorithms
Quantum Computing Fundamentals for Developers
Intermediate
Deutsch-Jozsa Algorithm
Advanced
Grover's Search Algorithm — Quantum Speedup
Advanced
Shor's Algorithm — Quantum Factoring
Advanced