通过重复替换解决以下递归关系-
f(n)= 4f(n / 2)+ g(n)且g(n)∈θ(n)和f(1)∈θ(1)
答案 0 :(得分:0)
就做吧! f(n) = 4 (4f(n/4) + g(n/2)) + g(n) = 4^2 f(n/2^2) + 4 g(n/2) + g(n) = 4^2(4f(n/2^3) + g(n/2^2)) + 4 g(n/2) + g(n) = 4^3 f(n/2^3) + 4^2 g(n/2^2) + 4 g(n/2) + g(n)
。现在我们可以归纳一下:f(n) = sum_{i = 0}^{log(n)} 4^i g(n/2^i)
。作为g(n) = Theta(n)
,用g(n)
替换n
。我们将拥有f(n) = sum_{i = 0}^{log(n)} 4^i * n/2^i = sum_{i = 0}^{log(n)} 2^i * n = n * sum_{i = 0}^{log(n)} 2^i = n * (1 + 2 + 2^2 + ... + 2^log(n)) = n * (2^(log(n)+1)-1) = n * (2n - 1) = Theta(n^2)
。
此外,您可以使用主定理来解决它。