Solution: Nested Loop With Multiplication (Advanced)
Explore how to evaluate the time complexity of nested loops where the inner loop doubles each iteration. Learn to derive the total complexity as O(n log n) through detailed breakdowns of loop behaviors and logarithmic calculations.
We'll cover the following...
Solution #
Solution Breakdown
The outer loop is as it iterates n times. The inner while loop iterates i times, which is always less than n and the inner loop counter variable is doubled each time. Therefore we can say that it is . Thus, the total time complexity of the program given above becomes:
Here’s another way to arrive at the same result. Let’s look at the inner loop once again.
The inner loop depends upon j which is less than i and is multiplied by 2 in each iteration. This means that the complexity of the inner loop is . But, the value of i at each iteration, of the outer loop, is different. The total complexity of the inner loop in terms of n can be calculated as such:
...