■ 6-Month Day-Wise DSA Roadmap
Month 1: Basics + Arrays
• Day 1–2 → Complexity Analysis (Big-O, Big-Θ, Big-Ω)
• Day 3–5 → Recursion basics (Factorial, Fibonacci, Sum of digits)
• Day 6–10 → Arrays basics (Traversal, Insert, Delete, Reverse)
• Day 11–13 → Searching (Linear & Binary Search + variations)
• Day 14–18 → Sorting (Bubble, Insertion, Selection, Merge, Quick)
• Day 19–22 → Two pointers (Pair sum, Triplet sum, Sort 0/1/2)
• Day 23–26 → Prefix Sum + Sliding Window problems
• Day 27–30 → Strings (Palindrome, Anagram, Reverse, Substring search)
• ■ Problems: ~50
Month 2: Linked List + Stack/Queue
• Day 31–35 → Singly Linked List (Insert, Delete, Reverse)
• Day 36–38 → Doubly Linked List
• Day 39–42 → Cycle detection, Middle node, Merge 2 lists
• Day 43–46 → Stack basics, problems (Valid Parentheses, NGE, Min Stack)
• Day 47–49 → Queue basics + Circular Queue
• Day 50–52 → Deque + Priority Queue (Heap intro)
• ■ Problems: ~40
Month 3: Trees & BST
• Day 53–57 → Binary Tree basics + Traversals (Inorder, Preorder, Postorder, Level Order)
• Day 58–60 → Height, Diameter, Count nodes
• Day 61–63 → Lowest Common Ancestor, Distance between nodes
• Day 64–66 → Binary Search Tree (Insert, Delete, Search)
• Day 67–70 → BST problems (Validate BST, Kth Smallest, Range sum)
• ■ Problems: ~35
Month 4: Heaps + Hashing + Graph Basics
• Day 71–74 → Heaps (Min/Max Heap, Heap Sort, Kth largest element)
• Day 75–78 → HashMap/HashSet problems (frequency, duplicates, subarray sum)
• Day 79–82 → Tries basics (insert/search words, prefix queries)
• Day 83–86 → Graph representation (Adjacency List/Matrix)
• Day 87–90 → BFS + DFS traversal
• ■ Problems: ~35
Month 5: Graph Algorithms
• Day 91–94 → Shortest Path: Dijkstra, Bellman-Ford
• Day 95–97 → Floyd-Warshall (All-pairs shortest path)
• Day 98–100 → Minimum Spanning Tree (Prim + Kruskal)
• Day 101–103 → Topological Sort + Kahn’s Algorithm
• Day 104–106 → Union-Find (DSU)
• Day 107–110 → Practice mixed graph problems
• ■ Problems: ~30
Month 6: Dynamic Programming + Revision
• Day 111–115 → DP Basics (Fibonacci, Climbing Stairs, Knapsack 0/1)
• Day 116–119 → DP on Strings (LCS, Edit Distance, Palindrome Subsequence)
• Day 120–123 → DP on Subsets (Subset Sum, Equal Partition)
• Day 124–127 → DP on Grids (Unique Paths, Min Path Sum)
• Day 128–132 → Advanced DP (Bitmasking, DP on Trees)
• Day 133–140 → Revision + Solve previous company questions
• ■ Problems: ~60–70
■ Final Outcome
- 6 months = ~250–300 problems solved
- Covered Arrays, Strings, Linked List, Stack/Queue, Trees, BST, Heap, Hashing, Graphs, DP
- Enough for internship/placement coding rounds