考虑以下重复:
以下哪一项是正确的?
(A) T(n) =
(登录)
(B) T(n) =
(登录)
(C) T(n) =
(平方(n))
(D) T(n) =
(n)
(一) A
(乙)乙
(C)丙
(四)丁答案:(乙)
解释:
背景要求 – 使用替换方法的递归求解。
答案——B
展开递归,
T(n) = 2T(n^(1/2)) + 1
= 2^2T(n^(1/4)) + 2
= 2^3T(n^(1/8)) + 3
.
. k 步
.
= 2^kT(n^(1/2k)) + k …………。 (1)
使用基本情况,
n^(1/2k) = 2
两边取日志
log2n = 2k
k = log2log2n
从(1),
T(n) = log2n + log2log2n
= Theta(log2n)
这里 log2n : log(base 2) n
有关的 :
http://geeksquiz.com/algorithms-analysis-of-algorithms-question-17-2/
此解决方案由Pranjul Ahuja贡献。
这个问题的测验