# Time Complexity

Today we learned about time complexity.

There are three types of notation.

# 1. Big Oh Notation

Big Oh Notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.

In the beginning the word ‘Big-O’ didn’t really sound intuitive to me.

(Actually reminded me of Oscar Robertson to be honest 🏀)

photo from https://en.wikipedia.org/wiki/Oscar_Robertson

2. Big Omega Notation(Ω)

Similar to big O notation, big Ω function is used in CS to describe the performance or complexity of an algorithm.

To understand big O and big Ω easily, let’s check the difference between them.

While the Big O is used to describe the ** worst case** running time for an algorithm,

Big Ω is used to describe the

**running time.**

*best case*3. Big Theta Notation(ϴ)

So the Big O tells us the upper bound of the runtime of a function while Big Ω tells us the upper bound.

Big ϴ describes the tight bound of an algorithm, it’s limit from above and below.

It is often used to describe the average, or expected case for an algorithm.

This may not be completely true, but it’s a useful shorthand for now(I was told that I’ll be mainly using Big O)