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 | Upcoming | Coming Soon |
Week 1 | Arrays 101 | Completed | View Post |
Week 2 | Array & String | Upcoming | Coming Soon |
Week 3 | Hash Table | Upcoming | Coming Soon |
Week 4 | Queue & Stack | Upcoming | Coming Soon |
Week 5 | Heap | Upcoming | Coming Soon |
Week 6 | Binary Search | Upcoming | Coming Soon |
Week 7 | Linked List | Upcoming | Coming Soon |
Week 8 | Recursion I | Upcoming | Coming Soon |
Week 9 | Recursion II | Upcoming | Coming Soon |
Week 10 | Binary Tree | Upcoming | Coming Soon |
Week 11 | Binary Search Tree | Upcoming | Coming Soon |
Week 12 | Trie | Upcoming | Coming Soon |
Week 13 | N-ary Tree | Upcoming | Coming Soon |
Week 14 | Graph (BFS/DFS) | Upcoming | Coming Soon |
Week 15 | Sorting & Searching | Upcoming | Coming Soon |
Week 16 | Dynamic Programming (Intro) | Upcoming | Coming Soon |
Week 17 | Backtracking (Intro) | Upcoming | Coming Soon |
Week 18 | Revision / Buffer | Upcoming | Coming Soon |

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 | Upcoming | Coming Soon |
Week 20 | Hashing / Prefix Sum | Upcoming | Coming Soon |
Week 21 | Linked List / Stack-Queue Advanced | Upcoming | Coming Soon |
Week 22 | Binary Tree / BST | Upcoming | Coming Soon |
Week 23 | Heap / Priority Queue | Upcoming | Coming Soon |
Week 24 | Graphs (DFS/BFS, Shortest Paths) | Upcoming | Coming Soon |
Week 25 | Backtracking | Upcoming | Coming Soon |
Week 26 | Dynamic Programming | Upcoming | Coming Soon |
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.