26-Week DSA Plan
This is my structured roadmap for ~26 Weeks of DSA prep. Split into two phases with weekly topics. I'll update statuses and links as I go.
- ✅ Phase 1: 18 weeks (Foundations)
- ✅ Phase 2: 8 weeks (Mastery)
Phase 1: Foundations (Weeks 1–18)
Goal: Build understanding of 17 LeetCode Explore Cards (~85–100 questions). ~2–2.5 questions/day with revision weeks.
| Week | Topic | Status | Link |
|---|---|---|---|
| Week 0 | Essential DSA: Arrays, HashMaps, and Key Patterns | Completed | View Post |
| Week 1 | Arrays 101 | Completed | View Post |
| Week 2 | Array & String | Completed | View Post |
| Week 3 | Hash Table | Completed | View Post |
| Week 4 | Queue & Stack | Completed | View Post |
| Week 5 | Heap | Completed | View Post |
| Week 6 | Binary Search | Completed | View Post |
| Week 7 | Linked List | Completed | View Post |
| Week 8 | Recursion I | Completed | View Post |
| Week 9 | Recursion II | Completed | View Post |
| Week 10 | Binary Tree | Completed | View Post |
| Week 11 | Binary Search Tree | Completed | View Post |
| Week 12 | Trie | Completed | View Post |
| Week 13 | N-ary Tree | Completed | View Post |
| Week 14 | Graph (BFS/DFS) | Completed | View Post |
| Week 15 | Sorting & Searching | Completed | View Post |
| Week 16 | Dynamic Programming (Intro) | Completed | View Post |
| Week 17 | Backtracking (Intro) | Completed | View Post |
| Week 18 | Revision / Buffer | Completed | View Post |
Phase 2: Mastery (Weeks 19–26)
Goal: Medium–Hard LeetCode patterns for FAANG-level readiness (~220 questions). 2 questions/day over 8 weeks with real interview patterns and revision.
| Week | Topic | Status | Link |
|---|---|---|---|
| Week 19 | Two Pointers / Sliding Window | Completed | View Post |
| Week 20 | Hashing / Prefix Sum | Completed | View Post |
| Week 21 | Linked List / Stack-Queue Advanced | Completed | View Post |
| Week 22 | Binary Tree / BST | Completed | View Post |
| Week 23 | Heap / Priority Queue | Completed | View Post |
| Week 24 | Graphs (DFS/BFS, Shortest Paths) | Completed | View Post |
| Week 25 | Backtracking | Completed | View Post |
| Week 26 | Dynamic Programming | Completed | View Post |
Revision Strategy
At the end of every week, I will do a dedicated revision session. When I initially solve problems, if I find them hard to solve, I will put them in Revision Block 1. During weekly revision days, I will focus on solving Revision Block 1 problems.
- If I can solve them confidently, I will move them to Revision Block 2.
- If not, I will leave them in Block 1 for another cycle.
- At the end of each month, I will tackle Revision Block 2.
- If I can solve them then, I will remove them from the list, showing I have truly learned them.
This layered revision system will help me repeatedly practice the hardest problems until they stick.