Асимптотические обозначения позволяют сравнивать скорость роста функций. Мы отбрасываем константы и малые слагаемые и оставляем главное.
Три обозначения
O(g)— верхняя оценка:fрастёт не быстрееg.Ω(g)— нижняя оценка:fрастёт не медленнееg.Θ(g)— точная оценка:fиgрастут одинаково.
Функция 3n² + 5n + 7 — это O(n²), Ω(n²) и значит Θ(n²). Она также O(n³), но это слабая оценка.
Формальное определение
f(n) = O(g(n)), если существуютc > 0иn0, такие чтоf(n) ≤ c · g(n)для всехn ≥ n0.f(n) = Ω(g(n)), если существуютc > 0иn0, такие чтоf(n) ≥ c · g(n)для всехn ≥ n0.f(n) = Θ(g(n)), если верны иO, иΩ.
Знак «=» здесь не равенство, а «принадлежит классу».