Free beta: 60 days of full access, no card needed.84 seats leftSign up free

We use necessary cookies to run the site (sign-in and language). If you accept, we also load Google Analytics to see which pages are used, and Google reCAPTCHA to keep spam off the contact and bug-report forms. Privacy policy

REFERENCE

Data structures and algorithms roadmap

The AlgoPath roadmap lays out data structures and algorithms in the order they build on each other: 150 steps in 19 groups. Each row of groups needs only the rows above it, so groups that share a row can be taken in any order.

Topics in the order they build on each other

The first 33 lessons are free

Open any of them now. Each one reads and runs in the browser, no account needed.

  1. 0What is an algorithm?
  2. 1Instructions a computer follows exactly
  3. 2Data and variables: a labeled box
  4. 3A list: a row of numbered boxes
  5. 4Doing it for everyone: loops
  6. 5Making choices: if / else
  7. 6Your first program: add two numbers
  8. 7Find the biggest number
  9. 8Why some ways are faster
  10. 9Big-O: a name for how fast the work grows
  11. 10Rearranging an array without a second one
  12. 11Sets: a bag that refuses duplicates
  13. 12Map: a labeled store of key → value
  14. 13WeakMap and WeakSet: attach data to objects
  15. 14How a hash table finds a slot
  16. 15Collisions, handled by chaining
  17. 16Collisions, handled by probing (open addressing)
  18. 17Load factor and resizing
  19. 18"Have I seen this?" in one step
  20. 19Closing in from both ends
  21. 20Squeezing out duplicates in place
  22. 21Reusing the last window's work
  23. 22A window that changes size to fit a rule
  24. 23A window that remembers what's inside it
  25. 24Adding up any stretch of a list in one step
  26. 25Counting the stretches that add up to k
  27. 26Summing any rectangle in one step
  28. 27Bumping a whole range without touching every slot
  29. 28Finding an item by scanning a list
  30. 29Finding one item in a sorted list by halving
  31. 30Finding the exact spot where "no" turns into "yes"
  32. 31Binary search in a rotated sorted array
  33. 32Guessing the answer, then binary-searching the guess