{}DSA Atlas

Study Roadmap

A 12-week plan from zero to interview-ready, with what to study each week, how many problems to do, and how to practise so it sticks.

How to use this site

Every topic page follows the same structure:

  1. The idea — the mental model, in plain words.
  2. Recognize it — the signals in a problem statement that point to the technique.
  3. Templates — copy-ready code in Python and C++ (the tab you pick is remembered across the site).
  4. Worked examples — full solutions with the reasoning behind each line.
  5. Common mistakes — the bugs that cost people interviews.
  6. Practice problems — a curated, graded list with a hidden key idea for each. Tick them off to track progress.

The 12-week plan

Assumes ~1.5–2 hours a day. Compress or stretch as needed; the order matters more than the pace.

WeekTopicsGoal
1Complexity, Arrays & Strings, Hashingread constraints, use hash maps reflexively
2Two Pointers, Sliding Window, Prefix Sumsturn O(n²) scans into O(n)
3Sorting, Binary Searchincluding binary search on the answer
4Linked Lists, Stacks & Queuespointer fluency, monotonic stacks
5Recursion, Backtrackingsubsets, permutations, pruning
6Binary Trees, BSTtop-down vs bottom-up thinking
7Heaps, Greedy, Intervalstop-k, scheduling, exchange arguments
8Graph Traversal, Union-FindBFS/DFS/topological sort without hesitation
9Shortest Paths, Tries, Bit ManipulationDijkstra, prefix trees, XOR tricks
10DP Fundamentals, 1D DPstate/transition thinking
112D DP, Knapsackthe classic DP families
12Design, mixed review, mock interviewsspeed, communication, weak spots

Stretch topics (competitive programming, or top-tier interviews): Advanced DP, MST & Advanced Graphs, Segment/Fenwick Trees, String Algorithms, Math.

A daily session

  1. Warm-up (10 min): redo one problem you marked “review”.
  2. Learn (20–30 min): read one section of a topic and type out its template from memory afterwards.
  3. Practise (45–60 min): 2–3 new problems. Timebox each:
    • 0–25 min: try on your own. Write your approach before coding.
    • 25–40 min: reveal the key idea hint. Try again.
    • 40+ min: read a solution, then close it and re-implement from scratch.
  4. Reflect (5 min): in one sentence, what was the insight? Which signal should have tipped you off?

Spaced repetition

Mark a problem review (↺) if you needed a hint or a solution. Re-solve review problems after ~3 days, then ~1 week, then ~3 weeks. When you can solve it cold in under 20 minutes, mark it solved (✓). The practice tracker lets you filter by status to find review problems quickly.

Milestones

  • After week 4: you can solve most Easy problems in < 15 minutes and recognise two-pointer/window/hash patterns instantly.
  • After week 8: you can solve typical Mediums on arrays, trees and graphs in ~30 minutes.
  • After week 12: you can solve most Mediums and some Hards, and you explain your reasoning out loud while coding.

Beyond the plan