Skip to content
dsa/roadmap
Guide

How to use this guide

Don't just watch: implement it yourself, then solve 2–3 problems.

The loop for every topic

  1. Mental model. Read the plain-English idea and the analogy first. If you can't explain it to a friend, the code won't stick.
  2. Visualize. Step through slowly with →. Predict the next frame before you press.
  3. Code. Read the C++, then close the page and type it yourself. Compile with g++ -std=c++17.
  4. Watch one video, only if something is still unclear. One is enough.
  5. Exam lens and quick check. These are what get marked.
  6. Practice. Trace by hand 🟢, implement 🟡, solve 2–3 problems 🔴.
  7. Tick the "I can…" boxes honestly. That marks the topic done.

The phases

  1. Phase 1: Foundations

    What a data structure is, the C++ you need (pointers, references, recursion), and how to measure an algorithm with Big-O.

  2. Phase 2: Linear Structures

    Arrays, singly and doubly linked lists, stacks and queues: storing items in a line. Ends with a build-it-yourself project.

  3. Phase 3: Searching & Sorting

    Linear and binary search, then every classic sort from bubble to quick sort. Ends with a build-it-yourself project.

  4. Phase 4: Trees

    Binary trees, binary search trees, traversals, balanced trees and heaps.

  5. Phase 5: Hashing

    Hash functions and collision handling for near-instant lookup.

  6. Phase 6: Graphs

    Vertices and edges, adjacency matrix and list, BFS, DFS and shortest paths. Ends with a build-it-yourself project.

  7. Phase 7: Algorithm Design

    The big strategies: divide and conquer, greedy choices and dynamic programming.

Go at your own pace, in order: each phase uses the one before it. When you finish, use Test yourself and the cheat sheets to lock it in.

Which channel for what

Don't follow every channel. Pick one per need:

Alternates: Jenny's Lectures CS/IT (Step-by-step basics, close to a classroom lecture) · take U forward (Striver A2Z) (Level Up patterns and interview prep).

Full-course backups: Data Structures in C/C++ (freeCodeCamp/mycodeschool) · Data Structures Easy→Advanced (freeCodeCamp/William Fiset).

References

Your data

No account, no server. Progress, quiz scores, notes and bookmarks are saved in your browser's localStorage. Use Progress → Export to back up or move devices. If your browser blocks storage, the site still works, but forgets when you close the tab.

Keyboard shortcuts

⌘K /
Search topics, glossary, cheat sheets
space
Play / pause the visualizer
← →
Step back / forward
r
Reset the visualizer
?
Show this help