【问题标题】:Q: Recurrence relation by SubstitutionQ: 代入的递归关系
【发布时间】: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


【解决方案1】:

假设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 > an > 9,所以这是真的。

总结一下:我们得到T(n)T'(n) = (6/3^1.5)*n^1.5 + 3n 更大,并证明c > 6/3^1.5n > 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
猜你喜欢
  • 1970-01-01
  • 2015-07-19
  • 2019-10-18
  • 2020-11-09
  • 2014-12-26
  • 1970-01-01
  • 1970-01-01
  • 2019-10-18
  • 1970-01-01
相关资源
最近更新 更多