9-Week Structured DSA + Algorithm Learning Plan
Week 1: Arrays
- Basic operations: traversal, insertion, deletion
- Patterns:
- Prefix Sum
- Two-Pointers
- Sliding Window
- Fast-Slow Pointer
- Binary Search
- Target: 10-15 problems using these patterns
Week 2: Linked List
- Basic ops: insert/delete at head/tail/middle
- Patterns:
- Fast-Slow Pointer (find middle, cycle)
- Two-Pointers
- Reverse Sub-list
- Target: ~10 problems
Week 3: Strings
- Patterns:
- Sliding Window
- Two-Pointers
- Prefix Sum of Chars
- Hash-Map based frequency
- Target: 10-12 problems
Week 4: Stacks & Queues
- Basics: push/pop, enqueue/dequeue
- Patterns:
- Monotonic Stack
- BFS (queue)
9-Week Structured DSA + Algorithm Learning Plan
- Iterative DFS
- Practice: 5 problems each
Week 5: Hash Tables
- Patterns:
- Frequency Maps
- Subarray sum using Hash
- Grouping (anagrams, etc.)
- Target: solidify tricks with 10 problems
Week 6: Trees
- Basics: Node creation, insert/delete, traversal
- Patterns:
- DFS (inorder/preorder/postorder)
- BFS
- Divide & Conquer
- Backtracking
- Practice: ~10 problems
Week 7: Heaps & Greedy
- Basics: heapify, insert, extract-min/max
- Patterns:
- Top-K problems
- Sliding window + heap
- Greedy scheduling
- Target: 7-8 problems
Week 8: Graphs
- Basics: adj-list, adj-matrix, visited array
- Patterns:
- BFS/DFS
9-Week Structured DSA + Algorithm Learning Plan
- Topological Sort
- Dijkstra, Bellman-Ford
- Union-Find
- Target: 10 problems
Week 9: Dynamic Programming
- Patterns:
- 1D DP (climb stairs, max subarray)
- 2D DP (knapsack, edit distance)
- Tree DP
- Bitmask DP
- Approach: Recursion Memoization Tabulation
Daily Practice Routine
- 1 New problem using current weeks DS + pattern
- 1 Problem from error log
- 15-30 min error log review
- Start mock interviews from week 4
- Build mini-projects using learned DSA