Knowee
Questions
Features
Study Tools

What will be the time complexity of the following code?int fun(int n){ int count = 0; for (int i = n; i > 0; i /= 2){ for (int j = 0; j < i; j++){ count += 1;| } }return count;

Question

What will be the time complexity of the following code?int fun(int n){ int count = 0; for (int i = n; i > 0; i /= 2){ for (int j = 0; j < i; j++){ count += 1;| } }return count;

🧐 Not the exact question you are looking for?Go ask a question

Solution

The time complexity of the given code is O(n log n).

Here's why:

  1. The outer loop runs log(n) times because i is halved in each iteration. This is a property of logarithmic functions.

  2. The inner loop runs i times, where i starts from n and is halved in each iteration of the outer loop. So, in the first iteration, it runs n times, in the second iteration it runs n/2 times, in the third iteration it runs n/4 times, and so on.

  3. The total number of times the inner loop runs is therefore n + n/2 + n/4 + ... + 1. This is a geometric series which sums up to 2n.

  4. Therefore, the total time complexity is the product of the number of times the outer loop runs and the average number of times the inner loop runs, which is O(n log n).

This problem has been solved

Similar Questions

What is time complexity of following code : int count = 0; for (int i = N; i > 0; i /= 2) { for (int j = 0; j < i; j++) { count += 1; } }

What is the time complexity of the following code? for(int i = 0; i < n; i++) { for(int j = 0; j < i; j++) { System.out.println(i * j); } } a. O(n) b. O(2^n) c. O(n^2) d. O(n log n)

Question #20What is the time complexity of this function / algorithm?void f(int n){ int i; int j; for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { printf("[%d] [%d]\n", i, j); } }}O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #21What is the time complexity of removing at index n from an unsorted Python 3 list?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #22What is the time complexity of accessing the nth element on an unsorted array?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #23What is the time complexity of this function / algorithm?void f(unsigned int n){ int i; for (i = 1; i < n; i = i * 2) { printf("[%d]\n", i); }}O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #24What is the time complexity of searching for an element in a singly linked list of size n?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #25What is the time complexity of searching for an element in a queue of size n if you are given a pointer to both the head and the tail of the queue?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #26What is the time complexity of accessing the nth element of a singly linked list?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #27What is the time complexity of this function / algorithm?void f(int n){ int i; for (i = 0; i < n; i++) { printf("[%d]\n", i); }}O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #28What is the time complexity of this function / algorithm?foreach($numbers as $number){ echo $number;}O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #29What is the time complexity of searching for an element in a doubly linked list of size n?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #30What is the time complexity of searching for an element - worst case - in a hash table with the implementation you used during the previous Hash Table C project (chaining)?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #31What is the time complexity of this function / algorithm?int Fibonacci(int number){ if (number <= 1) return number; return Fibonacci(number - 2) + Fibonacci(number - 1);}O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #32What is the time complexity of searching for an element in an unsorted Python 3 list of size n?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #33What is the time complexity of the “pop” operation onto a stack?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #34What is the time complexity of inserting after the nth element of a singly linked list? (Assuming you have a pointer to the node to insert)O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #35What is the time complexity of this function / algorithm?void f(unsigned int n){ int i; int j; for (i = 0; i < n; i++) { for (j = 1; j < n; j = j * 2) { printf("[%d] [%d]\n", i, j); } }}O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #36What is the time complexity of searching for an element in an unsorted array of size n?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #37What is the best case time complexity of insertion in a hash table with the implementation you used during the previous Hash Table C project (chaining)?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #38What is the best case time complexity searching for an element in a hash table with the implementation you used during the previous Hash Table C project (chaining)?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #39What is the time complexity of the “push” operation onto a stack?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #40What is the time complexity of this function / algorithm?def func(n): a=5 b=6 c=10 for i in range(n): for j in range(n): x = i * i y = j * j z = i * j for k in range(n): w = a*k + 45 v = b*b d = 33O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #41What is the time complexity of removing at index n in an unsorted array?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Question #42What is the time complexity of inserting into an unsorted Python 3 list at index n?O(n!)O(2^n)O(1)O(n)O(nlog(n))O(n^2)O(log(n))Submit answers

What is the time complexity of the following code : int a = 0, i = N; while (i > 0) { a += i; i /= 2; }

The time complexity of the  following code snippet isc=0; while (n>=1) {for(i=1;i>=n;i++){ c++;}n=n/2;}

1/3

Upgrade your grade with Knowee

Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.