Solution: Nested Loop with Multiplication (Advanced)
Explore how to break down nested loop code involving multiplication to determine its time complexity. Understand the use of logarithmic analysis and factorial log properties to simplify complexity expressions. This lesson helps you master asymptotic analysis for nested loops critical in coding interviews.
We'll cover the following...
Given code
Solution breakdown
In the main function, the outer loop is , as it iterates n times. The inner while loop iterates var times, which is always less than n, and the inner loop counter variable is doubled each time. Therefore, we can say that it is . Therefore, 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 var and is multiplied by 2 in each iteration. This means that the complexity of the inner loop is . However, the value of var 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:
...