Algorithms | Analysis of Algorithms (Recurrences) | Question 11

Consider the following recurrence:

gate_2006_51

Which one of the following is true?

(A) T(n) = \theta(loglogn)
(B) T(n) = \theta(logn)
(C) T(n) = \theta(sqrt(n))
(D) T(n) = \theta(n)

(A) A
(B) B
(C) C
(D) D


Answer: (B)

Explanation: This question can be solved by first change of variable and then Master Method.

  Let n = 2^m
  T(2^m) = T(2^(m/2)) + 1
  Let T(2^m) =  S(m)
  S(m)  = 2S(m/2) + 1  

Above expression is a binary tree traversal recursion whose time complexity is \theta(m). You can also prove using Master theorem.

S(m)  = \theta(m)  
      = \theta(logn)  /* Since n = 2^m */

Now, let us go back to the original recursive function T(n)

  T(n)  = T(2^m) = S(m)
                 = \theta(Logn)




Quiz of this Question



My Personal Notes arrow_drop_up