The
Code
Forge
.io
Java
Python
C / C++
JavaScript
DSA
Database
System Design
DSA Track
DSA Tutorials
Data structures and algorithms — arrays, trees, graphs, dynamic programming and more.
110
Topics
18
Beginner
51
Intermediate
41
Advanced
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
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
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
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
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
Complexity Analysis
Big O Notation Explained
Beginner
Time Complexity Analysis
Intermediate
Space Complexity Analysis
Intermediate
Amortized Analysis
Advanced
Recursion
Introduction to Recursion
Beginner
Recursion vs Iteration
Intermediate
Tower of Hanoi Problem
Intermediate
Divide and Conquer Technique
Intermediate