【发布时间】:2018-09-13 04:15:08
【问题描述】:
我有递归关系:T(n) = c*T (n/3) + (c/2)*n
对于任何 c
让 T(n) >= n^1.5 作为替代方法的猜测。
【问题讨论】:
-
为什么不使用主定理?
-
因为目的是使用替换方法,这是猜测。相信我,如果我能使用 Master,我会的。
标签: algorithm substitution recurrence
我有递归关系:T(n) = c*T (n/3) + (c/2)*n
对于任何 c
让 T(n) >= n^1.5 作为替代方法的猜测。
【问题讨论】:
标签: algorithm substitution recurrence
假设T(n) <= n^1.5 是正确的路径。有了它,我们可以:
T(n) <= 6 ( n^1.5 / 3^1.5 ) + 3n = (6 / 3^1.5)* n^1.5 + 3n.
6/3^1.5 是 5.1... 但现在我们称之为a。所以我们有:a*n^1.5 + 3n。
我们需要证明对于 n0>n c*n^1.5 > a*n^1.5 + 3n 存在 c > 0。首先让除以 n:c*n^0.5 > a*n^0.5 + 3 得到:(c-a)*n^0.5 > 3。
从这里可以清楚地看出,您可以选择任何c > a 和n > 9,所以这是真的。
总结一下:我们得到T(n) 比T'(n) = (6/3^1.5)*n^1.5 + 3n 更大,并证明c > 6/3^1.5 和n > 9 T(n) < cg(n) where g(n) = n^1.5
【讨论】:
T(n) >= n^1.5,而您说,“假设T(n) <= n^1.5”这会导致解决方案出错吗?跨度>
T'(n) = a*n^1.5 + 3n 并找到c 和n 例如T'(n) >= c*n^1.5