# Concept

The computation time taken by a piece of code or an algorithm.

### Three types of Asymptotic Notations to express time complexity:

**Big-O Notation**: Upper Bound**Theta Notation**: In between upper and lower bound**Omega Notation:**Lower Bound

But generally we used the ** Big-O Notation** to express the time complexity in programming world.

### Types of Time Complexity:

- Constant Time Complexity: O(1)
- Linear Time Complexity: O(n)
- Logarithmic Time Complexity: O(log n)
- Quadratic Time Complexity: O(n²)
- Exponential Time Complexity: O(2^n)

So, to calculate time complexity, you should count the number of operations in a program. And, No of operations that can be performed in one second by a machine = 10^7

For example,

● Array size = 4*10^7 -> This means you can iterate the array only once. O(N)

solution is needed.

● Array size = 10^3. O(N^2) at max.

● Array size = 10^5. O(N) or O(N log N)

● Array size = 10 O(2^N)

● Matrix N = 1000, M = 1000. Complexity O(N*M).

This is how you can look at the constraint and tell what time complexity will be needed.

So this is it for this article. I hope it helped you somewhere. Don't forget to support us and share with other geekians.Thank you, Have a nice day !!