In this post, we will see how to resolve Iam still confused how time complexity is calculated
Question:
For the below code it is said that the time complexity isO(n^2)
If the inner loop runs for
n*n
times
and outer loop runs for n times then shouldn’t it be O(n^3)
O(n^3)
I felt that time complexity for the cases should be O(n^3) but that’s not the case.
Best Answer:
You are right in the case of the second example, the time complexity is O(n^3) since the outer loop iterates n-1 times and inner one n^2 which results in (n-1) * n^2 or n^3 – n^2 so considering constant time operations the complexity can be expressed as O(n^3).However in the first example the complexity is only O(n^2) which reflects the number of iterations of the inner loop since the outer loop will always execute only once. This is because the inner loop will exit with i=n*n-1 after the first iteration of outer loop which is outside the first loop’s bounds (i < n).
If you have better answer, please add a comment about this, thank you!
Source: Stackoverflow.com