Skip to content
dsa/roadmap

Free · self-paced · C++

Data Structures & Algorithms in C++

Learn the structures and algorithms every programmer relies on by watching them run step by step, reading real C++, and practising until you can write them yourself.

7 phases38 topicsno sign-up

Your progress

0 of 0 topics done

Start: What Is a Data Structure?
  1. Phase 1· complete

    Foundations

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

    0 / 9 done
  2. Phase 2· complete

    Linear Structures

    Arrays, singly and doubly linked lists, stacks and queues: storing items in a line.

    0 / 9 done
    Phase project: build it yourself
  3. Phase 3· complete

    Searching & Sorting

    Linear and binary search, then every classic sort from bubble to quick sort.

    0 / 9 done
    Phase project: build it yourself
  4. Phase 4· complete

    Trees

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

    0 / 6 done
  5. Phase 5· complete

    Hashing

    Hash functions and collision handling for near-instant lookup.

    0 / 1 done
  6. Phase 6· complete

    Graphs

    Vertices and edges, adjacency matrix and list, BFS, DFS and shortest paths.

    0 / 4 done
    Phase project: build it yourself
  7. Phase 7· complete

    Algorithm Design

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

    coming soon
Level Up →

Optional problem patterns: two pointers, sliding window, monotonic stack.

Test yourself →

A random timed quiz across the phases you pick.

How to use this →

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

Keyboard shortcuts

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