This document discusses different asymptotic notations used to represent the complexity of algorithms:
- O(g(n)) represents asymptotic upper bound - function g(n) grows at least as fast as f(n) for large n.
- Ω(g(n)) represents asymptotic lower bound - function g(n) grows no faster than f(n) for large n.
- θ(g(n)) represents asymptotic tight bound - functions g(n) and f(n) grow at the same rate for large n.
It also explains the differences between O and o notations, and between Ω and ω notations - where the former represents loose asymptotic bounds and the latter