How to use this guide
Don't just watch: implement it yourself, then solve 2–3 problems.
The loop for every topic
- 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.
- Visualize. Step through slowly with →. Predict the next frame before you press.
- Code. Read the C++, then close the page and type it yourself. Compile with
g++ -std=c++17. - Watch one video, only if something is still unclear. One is enough.
- Exam lens and quick check. These are what get marked.
- Practice. Trace by hand 🟢, implement 🟡, solve 2–3 problems 🔴.
- Tick the "I can…" boxes honestly. That marks the topic done.
The phases
- Phase 1: Foundations
What a data structure is, the C++ you need (pointers, references, recursion), and how to measure an algorithm with Big-O.
- 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.
- Phase 3: Searching & Sorting
Linear and binary search, then every classic sort from bubble to quick sort. Ends with a build-it-yourself project.
- Phase 4: Trees
Binary trees, binary search trees, traversals, balanced trees and heaps.
- Phase 5: Hashing
Hash functions and collision handling for near-instant lookup.
- Phase 6: Graphs
Vertices and edges, adjacency matrix and list, BFS, DFS and shortest paths. Ends with a build-it-yourself project.
- 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:
Slow, careful whiteboard explanations of linked lists, stacks, queues, trees and graphs in C/C++. Most of this site's chapter videos come from here.
AlgorithmsAnalysis, asymptotic notation and the fast sorts traced by hand, the way exams ask.
Problem practiceClean solutions to the LeetCode problems linked in each Practice section.
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
- Goodrich, Tamassia & Mount, Data Structures and Algorithms in C++: A solid C++ textbook if you want more depth.
- VisuAlgo: Animations of almost every structure on this roadmap.
- USFCA Data Structure Visualizations: Type your own values into BSTs, heaps, hashing.
- learncpp.com: The best free C++ tutorial; read the pointers chapter.
- cppreference: The C++ standard library reference (std::stack, std::queue…).
- GeeksforGeeks: Quick articles and extra examples for every topic.
- Programiz DSA: Short, beginner-friendly explanations.
- OpenDSA: Interactive textbook with auto-graded exercises.
- Big-O Cheat Sheet: One-page complexity reference.
- LeetCode Explore: Linked List: Guided card for linked lists.
- LeetCode Explore: Queue & Stack: Guided card for stacks and queues.
- NeetCode roadmap: Problem roadmap for Level Up.
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.