Polynomials decompose into bands; the highest power wins.
f(n) = O(g(n)) iff there exist constants c > 0 and n0 ≥ 0 such that for all n ≥ n0, f(n) ≤ c · g(n). Read it as "f is eventually upper-bounded by a constant multiple of g."
Two things to internalize. First, the constant c is allowed to be anything — so 1000n² and n² are both O(n²); the multiplicative factor doesn't change the class. Second, the bound only has to hold for large n. Tiny-n weirdness doesn't matter.
Ω(g) = lower bound. f = Ω(g) iff ∃ c, n0 : f(n) ≥ c · g(n) for n ≥ n0.
Θ(g) = tight bound. f = Θ(g) iff f = O(g) and f = Ω(g) simultaneously.
o(g) = strict upper bound. f = o(g) iff f / g → 0.
Sipser: §7.1 (Big-O), §7.1 Examples 7.4–7.7. Lecture notes: Module 4 slide 2. Companion problem: P17 (growth-rate race, visual contrast).