■ Foundational Topics
1. Time and Space Complexity
- Big O, Big Θ, Big Ω
- Best, Worst, Average Case
- Time vs Space Trade-offs
2. Recursion and Backtracking
- Basic Recursion (Factorial, Fibonacci)
- Tail Recursion
- Backtracking (N-Queens, Sudoku Solver, Rat in a Maze)
3. Sorting Algorithms
- Bubble Sort, Selection Sort, Insertion Sort
- Merge Sort, Quick Sort, Heap Sort
- Counting Sort, Radix Sort, Bucket Sort
- Time & Space Complexity of each
4. Searching Algorithms
- Linear Search
- Binary Search (Iterative & Recursive)
- Binary Search Variants (Lower Bound, Upper Bound, Search in Rotated Array)
■ Data Structures
5. Arrays
- Prefix Sum, Sliding Window, Two Pointers
- Kadane’s Algorithm (Maximum Subarray)
- Merge Intervals
6. Strings
- Palindromes, Anagrams
- KMP Algorithm
- Z-Algorithm
- Rabin-Karp
- Trie (Prefix Tree)
- String Hashing
7. Linked Lists
- Singly & Doubly Linked Lists
- Floyd's Cycle Detection (Tortoise & Hare)
- Reverse a Linked List
- Merge Two Sorted Lists
- Detect and Remove Loop
8. Stacks and Queues
- Stack using Array/Linked List
- Queue using Array/Linked List
- Circular Queue
- Deque (Double Ended Queue)
- Monotonic Stack/Queue
- LRU Cache (Using HashMap + Doubly Linked List)
- Stack/Queue Problems (Next Greater Element, Sliding Window Maximum)
9. Trees
- Binary Tree, Binary Search Tree (BST)
- Tree Traversals (Inorder, Preorder, Postorder)
- Height, Diameter, Balanced Tree
- Lowest Common Ancestor (LCA)
- Binary Heap (Min/Max Heap)
- Segment Tree, Fenwick Tree (BIT)
- Trie
10. Graphs
- Representation (Adjacency List, Matrix)
- DFS, BFS
- Topological Sort
- Shortest Path (Dijkstra, Bellman-Ford, Floyd-Warshall)
- Minimum Spanning Tree (Kruskal, Prim)
- Union Find (Disjoint Set Union)
- Cycle Detection (Directed/Undirected)
- Bridges & Articulation Points
- Strongly Connected Components (Kosaraju’s Algorithm)
■ Mathematics & Number Theory
- Prime Numbers (Sieve of Eratosthenes)
- GCD, LCM (Euclidean Algorithm)
- Modular Arithmetic
- Modular Inverse
- Fast Exponentiation
- Combinatorics (nCr, Factorials, Pascal’s Triangle)
■ Advanced Topics
11. Greedy Algorithms
- Activity Selection
- Huffman Encoding
- Job Scheduling
- Fractional Knapsack
12. Dynamic Programming (DP)
- 1D DP (Fibonacci, Climbing Stairs)
- 2D DP (Knapsack, LCS, Edit Distance)
- DP on Trees
- DP with Bitmasking
- Matrix Chain Multiplication
- LIS, Partition Problems
13. Bit Manipulation
- AND, OR, XOR operations
- Bit Masks
- Count set bits, Power of 2 check
- Subsets generation using bits
14. Sliding Window & Two Pointer
- Longest Substring Without Repeating Characters
- Minimum Window Substring
- Maximum Sum Subarray of Size K
15. Divide and Conquer
- Merge Sort, Quick Sort
- Binary Search
- Closest Pair of Points
16. Hashing
- HashMap, HashSet
- Custom Hash Functions
- Collision Handling
■ Miscellaneous
- Top K Frequent Elements
- Median of Two Sorted Arrays
- Reservoir Sampling
- Randomized Algorithms
- Game Theory Basics
- Design Patterns (Optional for System Design)
■ Interview & Competitive Coding Focus
- Leetcode Top 100
- Striver’s DSA Sheet
- Love Babbar 450 Sheet
- NeetCode 150
- GFG Must-Do 150