Stage 1 of 8 · 6 lessons · ~3 weeks
Complexity and Big-O
Learn to say what a piece of code costs in time and memory before you run it. Every later stage is about trading one cost for another, so this is the vocabulary for all of it.
Start: What Big-O means and the common growth ratesLessons· one lesson for each topic, in this order
Start with· follow one of these
- CoursePaidGrokking Algorithm Complexity and Big-O
Design Gurus · Beginner · Subscription
Short course on exactly this stage, including the amortised and space cases people miss
- CourseFreeMIT 6.006 Introduction to Algorithms
MIT OpenCourseWare · Intermediate
Free: lecture 1 and recitation 1 on asymptotic notation and the model of computation
Keep handy
Also worth your time
Time and space complexity worked through five common algorithms
Before moving on: Take 10 of your own past solutions, write the time and space complexity of each, then time them on inputs of 1,000, 10,000 and 100,000 items and check the growth matches your analysis.

Learn to count the loops in your own code instead of memorising a table, and always ask what happens to the call stack in recursion. If syntax in your language still slows you down, do the Programming foundations roadmap first, because DSA on shaky syntax is twice as slow.