Difference between Big Oh, Big Omega and Big Theta
Mathematically, if f(n) describes the running time of an algorithm; f(n) is O(g(n)) if there exist positive constant C and n0 such that
Attention reader! Don’t stop learning now. Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in GATE Test Series Course.
Learn all GATE CS concepts with Free Live Classes on our youtube channel.
0 <=f(n) <= c g(n) for all n>=n0
n = used to give upper bound an a function.
If a function is O(n), it is automatically O(n-square) as well !
Graphic example for Big oh (O) :
2. Big Omega notation (Ω) :
Just like O notation provide an asymptotic upper bound, Ω notation provides asymptotic lower bound.
Let f(n) define running time of an algorithm;
f(n) is said to be Ω(g (n)) if there exists positive constant C and (n 0 ) such that
O<= C g(n) <= f(n) for all n>=n 0
n= used to given lower bound on a function
If a function is Ω(n-square ) it is automatically Ω(n) as well.
Graphical example for Big Omega (Ω) :
3. Big Theta notation (Θ) :
Let f(n) define running time of an algorithm.
f(n) is said to be Θ(g(n)) if f(n) is O(g(n)) and f(n) is Ω(g(n))
O<=f(n)<=C 1 g(n) for n>=n 0 O<= C 2 g(n)<=f(n) for n >=n 0
Merging both the equation, we get :
O<=C 2 g(n)<=f(n)<=C 1 g(n) for n>=n 0
The equation simply means there exist positive constants C 1 and C 2 such that f(n) is sandwich between C 2 g(n) and C 1 g(n).
Graphic example of Big Theta (Θ) :
Difference Between Big oh, Big Omega and Big Theta :
1. It is like <=
rate of growth of an algorithm is less than or equal to a specific value
It is like >=
rate of growth is greater than or equal to a specified value
It is like ==
meaning the rate of growth is equal to a specified value
2. The upper bound of algorithm is represented by Big O notation. Only the above function is bounded by Big O. asymptotic upper bond is it given by Big O notation. The algorithm’s lower bound is represented by Omega notation. The asymptotic lower bond is given by Omega notation The bounding of function from above and below is represented by theta notation. The exact asymptotic behavior is done by this theta notation. 3. Big oh (O) – Worst case Big Omega (Ω) – Best case Big Theta (Θ) – Average case 4. Big-O is a measure of the longest amount of time it could possibly take for the algorithm to complete. Big- Ω is take a small amount of time as compare to Big-O it could possibly take for the algorithm to complete. Big- Θ is take very short amount of time as compare to Big-O and Big-? it could possibly take for the algorithm to complete. 5. Mathematically – Big Oh is 0 <=f(n) <= c g(n) for all n>=n0 Mathematically – Big Omega is O<= C g(n) <= f(n) for all n>=n 0 Mathematically – Big Theta is O<=C 2 g(n)<=f(n)<=C 1 g(n) for n>=n 0