01Polynomial vs exponential
Every algorithm on this roadmap so far, from binary search to Dijkstra to LCS, runs in polynomial time: O(n), O(n log n), O(n²), O(n³). Doubling n multiplies the work by a constant (2, 4, 8).
Brute force over choices is different. Trying every subset costs 2ⁿ, every ordering n!. Here adding one element doubles the work (or worse). On a log scale the polynomials look almost flat, while 2ⁿ and n! shoot through the line of 10⁸ operations per second at n ≈ 27 and n ≈ 12.
A faster computer does not save you: one that is 1000 times faster lets a 2ⁿ algorithm handle only about 10 more elements. That is why computer scientists use "polynomial" as the working definition of efficient.