Asymptotic notation describes the limiting behavior of algorithms as the problem size increases. There are three main types of asymptotic notation:
Big-O (Ο) notation provides an asymptotic upper bound - a function f(n) is O(g(n)) if there exists a constant c such that f(n) is eventually less than or equal to c*g(n).
Omega (Ω) notation provides an asymptotic lower bound - a function f(n) is Ω(g(n)) if there exists a constant c such that f(n) is eventually greater than or equal to c*g(n).
Theta (Θ) notation provides both a lower and upper