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 plan
Ch01 Intro to DS (Week 1) · Ch02 Analysis (Weeks 2–3) · Ch03 Simple Sorts (Weeks 3–4) · then the phase lab.
Ch04 Linked Lists (Weeks 5–6) · Ch05 Stacks & Queues (Weeks 7–8) · Ch06 Trees (Weeks 9–10) · then the phase lab.
Ch07 Graphs (Weeks 11–12) · Ch08 Advanced Sorts (Weeks 13–15) · then the phase lab.
Behind? Stretch the plan instead of skipping. Week 16 is for Exam mode and the cheat sheets.
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 Chapter 8 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++: The course textbook.
- VisuAlgo: Animations of almost every structure in the course.
- 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 Chapter 4.
- LeetCode Explore: Queue & Stack: Guided card for Chapter 5.
- NeetCode roadmap: Problem roadmap for Level Up.
The class slides (in Python) are linked as "Original slides" on each chapter page, with credit to their authors. All code on this site is rewritten in C++.
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.