DSA Master Plan

9-week structured revision · Backtracking + DP + Graphs → Aditya Verma · Everything else → Striver

Striver / TUF Aditya Verma New Topic Added
Overall plan progress 0 / 0 checked
0
Topics Done
0
Questions Done
0
Weeks Done
0%
Complete

Week 1 — Arrays, Two Pointers & Hashing

Foundation week. Master the patterns, not just the problems. Every array trick is a variant of one of these core patterns.

💡 Tip: After every concept, immediately solve 2–3 problems. Arrays are pattern recognition — the more you see, the faster you decode.

Week 2 — Sorting Algorithms + Recursion Fundamentals

Sorting is the backbone of half of all problems. Recursion is the language of DP and trees — master it here before touching harder topics.

💡 Tip: Implement merge sort and quick sort from scratch at least 3 times. For recursion, draw the call tree on paper — every single time.

Week 3 — Binary Search + Linked Lists

Binary search on answers is a critical meta-pattern. Linked list pointer manipulation needs muscle memory.

💡 Tip: For BS on answers: define your search space → check feasibility → binary search on it. For LL: always draw the pointer diagram before coding.

Week 4 — Stacks, Queues & Strings

Monotonic stack is the hidden gem of interviews. String algorithms (KMP, Z, Rabin-Karp) are must-knows for product companies.

💡 Tip: Monotonic stack = when you see "next greater/smaller element" pattern. For strings: KMP's failure function is the hardest part — spend 2 hours just on that.

Week 5 — Trees, Heaps & Tries

Heaviest week by volume. Trees are the #1 interview topic. Take your time and don't rush BST and advanced tree problems.

💡 Tip: For every tree problem: think about what info you need from children to compute the answer at each node. That's the recursive structure.

Week 6 — Greedy Algorithms + Bit Manipulation + Math

Greedy proofs are the tricky part. Bit manipulation unlocks O(1) tricks. Number theory shows up in Google/Amazon rounds.

💡 Tip: Greedy = prove locally optimal choice leads to global optimum. Bits = think in binary, use XOR for toggle/parity. Math = GCD, modular inverse, sieve are the holy trinity.

Week 7 — Backtracking (Aditya Verma Playlist)

Follow Aditya Verma's playlist in order. One template rules them all: make choice → explore → unmake choice.

💡 Tip: The backtracking template is universal. If you find yourself writing something that doesn't fit — choice/explore/unchoose — you're overcomplicating it.

Week 8 — Dynamic Programming (Aditya Verma Playlist)

Aditya's order: recursion → memoization → tabulation → space optimization. NEVER skip steps. DP is just smart recursion.

💡 Tip: Every DP problem = identify parameters that change in recursion → those become your dp array dimensions. No exceptions.

Week 9 — Graphs (Aditya Verma + Striver for Advanced)

Aditya for conceptual clarity, Striver for advanced problems (DSU, bridges, SCC). Graphs are 20-25% of FAANG interviews.

💡 Tip: For every graph problem: is it directed/undirected? Weighted? Cyclic? What's the graph structure? That 10-second analysis tells you the algorithm.

Striver SDE Sheet — LeetCode Question Bank

~180 LeetCode questions from Striver's SDE sheet. Click question names to open on LeetCode. Track your progress below.