Advanced Algorithms & Complexity
📋 What it is
Some algorithms are faster than others; "complexity" measures how run-time grows as the input gets bigger.
🗣️ Coach says
Two algorithms can solve the same problem but one is far FASTER. "Complexity" describes how the work grows as the input grows: checking every item one by one gets slow with a million items, but a smarter method (like halving the search each step) stays fast. Choosing an efficient algorithm matters at scale.
🧠 Memory hook
Same problem, different speed. Complexity = how slow it gets as input grows.
😂 Giggle
What did the boolean say to the other boolean?
"You're either with me or against me — there's no in-between!"
😲 Whoa!
Binary search — repeatedly halving what's left — can find a name in a million-name phone book in just 20 checks, instead of a million.
✅ Quick check: What does an algorithm's "complexity" tell you?
Say your answer out loud first — then reveal.
How its run-time (work) grows as the input gets bigger — a lower-complexity algorithm stays fast even with huge inputs.
Complexity measures scalability: how work grows with input size.
🧪 Try it! (2 minutes)
Find a name in a sorted list by halving each time (binary search) vs one-by-one. Count the steps for each.