Open In App
Related Articles

Algorithms | Analysis of Algorithms | Question 19

Improve Article
Save Article
Like Article

Consider the following two functions. What are time complexities of the functions? 


int fun1(int n)
    if (n <= 1) return n;
    return 2*fun1(n-1);


int fun2(int n)
    if (n <= 1) return n;
    return fun2(n-1) + fun2(n-1);


O(2^n) for both fun1() and fun2()


O(n) for fun1() and O(2^n) for fun2()


O(2^n) for fun1() and O(n) for fun2()


O(n) for both fun1() and fun2()

Answer: (B)


Time complexity of fun1() can be written as T(n) = T(n-1) + C which is O(n)

Time complexity of fun2() can be written as T(n) = 2T(n-1) + C which is O(2^n)

Quiz of this Question
Please comment below if you find anything wrong in the above post

Last Updated : 28 Jun, 2021
Like Article
Save Article
Similar Reads