【发布时间】:2020-11-13 01:26:06
【问题描述】:
【问题讨论】:
-
您的问题更适合网站:cs.stackexchange.com
-
使用master theorem case 1,显示
O(n^3)相当简单。
标签: algorithm recursion recurrence
【问题讨论】:
O(n^3)相当简单。
标签: algorithm recursion recurrence
你做得对:
T(n) = 8T(n/2) + qn
=> T(n) = 8(8T(n/4) + q(n/2)) + qn = 8^2 T(n/2^2) + q(n + 8 * n/2)
=> T(n) = 8^2(8T(n/2^3) + q(n/2^2)) + q(n + 8 * n/2)
= 8^3 T(n/2^3) + q ( n + 8 * n/2 + 8^2 * n/2^2)
现在通过归纳(如果我们假设 n = 2^k 和 T(1) = 1):
T(n) = q * sum_{i=0}^{k} 8^i * n / 2^i
现在,根据我们知道的8^i / 2^i = 4^i 简化等式,并从总和中分解n,我们有:
T(n) = q * n * sum_{i=0}^{k} 4^i = q * n * (4^k - 1)
作为4^k = 2^{2k} = (2^k)^2 = n^2,我们可以这样写:
T(n) = q * n * (n^2 - 1) = Theta(n^3)
【讨论】: