DSA & Problem Solving
The pattern library behind every technical interview.
intermediate · 4–6 months · 3 milestones · 13 topics
Tap a box to open it · right-click to mark done
Tap a box to open it
Full outline
Data structures and algorithms organised by problem pattern rather than by topic, so you learn to recognise which technique a new problem wants — plus a realistic practice schedule.
01Data Structures
Know the cost of every operation.
- Arrays & strings
The foundation, and the source of most interview questions.
- Hash maps & sets
The single most useful structure in practical problem solving.
- Linked lists, stacks & queues
Pointer manipulation and the structures built from it.
- Trees, heaps & tries
Hierarchical data and priority access.
- Graphs
More problems are graph problems than look like graph problems.
- Arrays & strings
02Problem Patterns
Recognise the shape and the solution follows.
- Two pointers & sliding window
Turning O(n²) scans into O(n) passes.
- Binary search
Not just on arrays — on any monotonic answer space.
- Recursion & backtracking
Explore the decision tree, prune aggressively.
- Dynamic programming
The topic people fear. It is just recursion plus a cache, made systematic.
- Greedy & intervals
Locally optimal choices that provably work — and proving that they do.
- Two pointers & sliding window
03Practice System
Consistency beats intensity.
- A realistic schedule
Two focused problems a day for six months beats twelve problems one weekend.
- Complexity analysis
Stating time and space cost correctly, every time, without prompting.
- Mock interviews
Solving alone and solving while explaining are different skills.
- A realistic schedule