# Asymptotic Time Complexity

During my datastructures classes in IIIT Kottayam, asymptotic time complexity was explained very well. I thought of writing the example he shared in the class:

`Consider if you are travelling from Kochi to New Delhi. You can reach the location:`

`by flight in 3 hours`

`by train in 2 days`

`by walking in 90 days`

So **big O notation**, can be such that the time required to walk is 90 days. It's considered as the upper bound such that f(n) <= cg(n).

In lowest possible time, let's say we can reach using flight. So it's the lower bound. Such that the f(n)>= c.g(n) always. It's considered **big theta notation**.

Then there is average case complexity which is means between both big O and big theta notation. It gives a tighter bound on run time such that. This is called **big theta notation** and can represented as follows

c1.g(n) <= f(n) <= c2.g(n)

We usually in industry consider even though it's considered as upper bound. It's usually considered closer to definition of big theta time.

![](https://4253921594-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MhiOx8KkYnYxHHqfUbB%2F-Mjp81iQEbnCbLKxMCUm%2F-Mjp8mKJMt1DB9JicTJR%2Fimage.png?alt=media\&token=7421bbc6-1f82-4d0e-9768-6641c7261781)
