📈Big O Intuition
Stop treating Big O as math you memorized for an interview — build the intuition to spot O(n²) disasters, pick the right data structure without thinking, and rewrite a slow function from O(n²) to O(n) in under five minutes.
Phase 1What Big O Actually Measures
See what Big O measures and what it quietly ignores
Big O measures how bad it gets, not how slow it is
6 minBig O measures how bad it gets, not how slow it is
The magic trick is that size doesn't matter
6 minThe magic trick is that size doesn't matter
One loop, one pass, one proportional pile of work
6 minOne loop, one pass, one proportional pile of work
Every nested loop is a warning sign
7 minEvery nested loop is a warning sign
Phase 2Eyeballing Complexity in Real Snippets
Eyeball the complexity of twenty small snippets fast
Count the loops, check what's inside
6 minCount the loops, check what's inside
The expensive operation is the one you didn't notice
7 minThe expensive operation is the one you didn't notice
Half the work, then half again, then you're done
6 minHalf the work, then half again, then you're done
Sort once, then the rest gets easier
7 minSort once, then the rest gets easier
Time is cheap; memory is where you really pay
7 minTime is cheap; memory is where you really pay
Phase 3Complexity Drives Data Structure Choice
Choose lists, sets, and dicts by complexity, not habit
The membership check on the wrong structure cost a weekend
7 minThe membership check on the wrong structure cost a weekend
The lookup table that kept getting slower
7 minThe lookup table that kept getting slower
The task queue that slowed down as the backlog grew
7 minThe task queue that slowed down as the backlog grew
Two lists, one primitive, and the miracle of O(n + m)
6 minTwo lists, one primitive, and the miracle of O(n + m)
Phase 4Rewrite a Slow Function You Own
Find a real slow function and rewrite it faster
Find a slow function, identify its class, rewrite it faster
8 minFind a slow function, identify its class, rewrite it faster
Frequently asked questions
- What is Big O notation in plain English?
- This is covered in the “Big O Intuition” learning path. Start with daily 5-minute micro-lessons that build from fundamentals to hands-on application.
- Why do we drop constants and lower-order terms in Big O?
- This is covered in the “Big O Intuition” learning path. Start with daily 5-minute micro-lessons that build from fundamentals to hands-on application.
- What's the difference between O(n) and O(log n)?
- This is covered in the “Big O Intuition” learning path. Start with daily 5-minute micro-lessons that build from fundamentals to hands-on application.
- When does O(n²) actually matter in real code?
- This is covered in the “Big O Intuition” learning path. Start with daily 5-minute micro-lessons that build from fundamentals to hands-on application.
- How do I know when to use a set instead of a list?
- This is covered in the “Big O Intuition” learning path. Start with daily 5-minute micro-lessons that build from fundamentals to hands-on application.
Related paths
🦀Rust Lifetimes Explained
Stop reading `'a` as line noise and start reading it as scope arithmetic — one failing snippet at a time — until you can thread lifetimes through a small parser or iterator adapter without fighting the borrow checker.
☸️Kubernetes Core Concepts
Stop drowning in 30+ resource types. Build the mental model one primitive at a time -- pods, deployments, services, ingress, config -- then deploy a real app with rolling updates and health checks.
💻Elixir Pattern Matching
Stop reading `=` as assignment and start using it as Elixir's core flow-control tool — through function heads, guards, and `with` — until you can rewrite a tiny command parser without a single `if`.
🐍Python Decorators Introduction
Build one mental model for Python decorators that covers closures, argument passing, functools.wraps, and stacking — then ship a working caching or logging decorator from scratch in under 30 lines.