📜  算法|算法分析(重复)|问题11

📅  最后修改于: 2021-06-28 21:51:51             🧑  作者: Mango

请考虑以下重复发生:

gate_2006_51

以下哪一项是正确的?

(A)T(n)= \theta (登录)
(B)T(n)= \theta (登录)
(C)T(n)= \theta (sqrt(n))
(D)T(n)= \theta (n)

(A) A
(B) B
(C) C
(D) D答案: (B)
说明:可以通过先更改变量然后更改主方法来解决此问题。

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

上面的表达式是一个二叉树遍历递归,其时间复杂度为\theta (米)。您也可以使用Master定理证明。

S(米)= \theta (米)= \theta (登录)/ *由于n = 2 ^ m * /

现在,让我们回到原始的递归函数T(n)

T(n)= T(2 ^ m)= S(m)= \theta (登录)

这个问题的测验