← Big-O · guided lesson

Big-O & Complexity

1 / 18 · story

the story

Big-O notation (with Ω and Θ)

Every tool here exists because something was too slow or broke without it. Here is what.

1894 · 1909 · 1976 · Paul Bachmann, Edmund Landau, Donald E. Knuth

Big-O came from number theory, not computing. Paul Bachmann used O in his 1894 book on analytic number theory; Edmund Landau spread it through his 1909 handbook on primes, and added little-o. In 1976 Donald Knuth saw people using O for lower bounds, where it doesn't fit. In "Big Omicron and big Omega and big Theta" (SIGACT News) he proposed Ω for "order at least" and Θ for "order exactly" — the notation algorithm analysis uses today.

the problem it solved

Comparing algorithms without depending on the computer, the language or the compiler — only on how the work grows.

why it matters: without it

You'd only learn an algorithm is too slow after running it on real data — usually in production, on the biggest input.

sources: Knuth — Big Omicron and big Omega and big Theta (SIGACT News, 1976) ↗

also in this chapter: Time complexity & the input-size budget · Amortized analysis