DSA Quest
A map of algorithm worlds. Spot the signal, move the pieces, face a mock interview. Come back for recall missions so skill becomes retained.
DSA Foundations
You are hereTraining garden
Start with array positions, loop boundaries, and the cost of repeated work. Build the state and cost intuition every later DSA pattern depends on.
Arrays & Hashing
OpenKey market
HashSet for membership, Dictionary for counting and complement lookups, canonical keys for grouping, prefix-sum counts, and prefix×suffix products. Contains Duplicate, Two Sum, Group Anagrams, Subarray Sum Equals K, Product Except Self.
Two Pointers
OpenTwin-lantern bridge
Converge two indices toward each other, using sorted structure to prove a move is safe before making it. Container With Most Water, 3Sum, Valid Palindrome (skip junk, compare ends).
Sliding Window
OpenObservatory train
Grow a window while a constraint holds, shrink it the moment the constraint breaks. Longest Substring Without Repeating Characters, Minimum Window Substring, fixed-k sums, and the rate limiter every API gateway runs.
Prefix Sum
OpenRunning-sum ridge
Pay once for a running total, then answer range sums, balance points, and modular subarray checks in linear time. Range Sum Query, Pivot Index, Continuous Subarray Sum. (Subarray Sum Equals K also appears under Arrays & Hashing as the hash hybrid.)
Binary Search
OpenCrystal cave
Every comparison eliminates half of everything that could still be the answer. Works on sorted arrays, answer ranges like Koko Eating Bananas, rotated sorted search, and finding the rotation minimum.
Stacks
OpenPlate tower temple
Use last-in-first-out state for nesting, undo, traversal, next greater element, daily temperatures, and nested decode-string expansion.
Linked Lists
OpenNode vine forest
Follow references, preserve links while rewiring, detect cycles, merge sorted lists, and remove the nth node from the end with a pointer gap.
Intervals
OpenCalendar ridge
Sort ranges, merge overlaps, insert into a sorted day, and size rooms by peak concurrency. Merge Intervals, Insert Interval, Meeting Rooms II.
Recursion
OpenCall-stack spire
Phase 4: call stack frames, base case + progress, and Climbing Stairs recurrence. Foundation for Trees and Graphs.
Trees
OpenCanopy trail
Binary nodes, DFS preorder/inorder/postorder, and maximum depth. Builds on recursion’s null base case and call stack.
Graphs
OpenNode web
Adjacency lists, BFS hop layers (queue + visited), and DFS with a visited set for cycles. Builds toward topo sort and weighted shortest paths later.
Heaps
OpenPeak heap
Binary heap property in an array, push/pop with sift up/down, and top-K with a size-K min-heap. Priority queues for schedulers and leaderboards.
Dynamic Programming
OpenMemo maze
Phase 5 DP: stairs, house robber I/II, unique paths I/II, coin change, LIS, edit distance, knapsack, LCS, min path, partition, target sum, decode ways, max product.
List view of worlds
- DSA Foundations — 0/5 levels
- Arrays & Hashing — 0/6 levels
- Two Pointers — 0/4 levels
- Sliding Window — 0/4 levels
- Prefix Sum — 0/3 levels
- Binary Search — 0/4 levels
- Stacks — 0/4 levels
- Linked Lists — 0/4 levels
- Intervals — 0/3 levels
- Recursion — 0/3 levels
- Trees — 0/3 levels
- Graphs — 0/3 levels
- Heaps — 0/3 levels
- Dynamic Programming — 0/15 levels
Decisions teach. Typing comes later. Full problem practice lives in Interview Problems.