请考虑以下重复发生:
以下哪一项是正确的?
(A)T(n)= (登录)
(B)T(n)= (登录)
(C)T(n)= (sqrt(n))
(D)T(n)= (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
上面的表达式是一个二叉树遍历递归,其时间复杂度为 (米)。您也可以使用Master定理证明。
S(米)= (米)= (登录)/ *由于n = 2 ^ m * /
现在,让我们回到原始的递归函数T(n)
T(n)= T(2 ^ m)= S(m)= (登录)
这个问题的测验