当存在三个术语时应用主定理?

Posted

技术标签:

【中文标题】当存在三个术语时应用主定理?【英文标题】:Applying the Master Theorem when there are three terms? 【发布时间】:2013-10-24 22:39:53 【问题描述】:

我将如何使用主定理解决这种递归?

T(n) = 4T(n/2) + n2 + logn

我不知道该怎么做,但我很确定可以使用 Master Theorem 解决它。我必须忽略其中一个条款吗?任何帮助表示赞赏,谢谢。

【问题讨论】:

【参考方案1】:

主定理适用于可以写成的函数

T(n) = aT(n / b) + f(n)

在这里,您有 a = 4、b = 2 和 f(n) = n2 + log n。请注意,我们将“n2 + log n”组合为 f(n) 项,而不是将其视为两个单独的项。

现在我们已经完成了,我们可以直接应用主定理。注意 logb a = log2 4 = 2 并且 f(n) = Θ(n2),所以由主定理这解决了 Θ(n2 log n)。之所以可行,是因为 n2 + log n = Θ(n2),而主定理只关心 f(n) 的渐近复杂度。事实上,这些重复中的任何一个都可以用相同的方式解决:

T(n) = 4T(n / 2) + n2 + 137n + 42

T(n) = 4T(n / 2) + 5n2 + 42n log n + 42n + 5 log n + 106

T(n) = 4T(n / 2) + 0.5n2 + n log137 n + n log n + n2 / log n + 5

希望这会有所帮助!

【讨论】:

以上是关于当存在三个术语时应用主定理?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Ruby,当术语之间可能存在可变空格时,如何将字符串转换为数组?

AS3 中的“TypeError:错误 #1010:术语未定义且没有属性”

当高级语言编译为低级语言(例如 C)时,是不是有一个术语?

当具有相同术语的 HQL 选择有效时,为啥此 HQL 删除失败?

如果存在主效应和交互效应,解释整体效应?

当某些术语之间可能没有空格时,如何拆分一行文本中的项目?