使用主定理求解递归 T(n) = T(n / 2) + O(1)? [关闭]

Posted

技术标签:

【中文标题】使用主定理求解递归 T(n) = T(n / 2) + O(1)? [关闭]【英文标题】:Solving the recurrence T(n) = T(n / 2) + O(1) using the Master Theorem? [closed] 【发布时间】:2013-05-16 21:08:38 【问题描述】:

我正在尝试使用主定理及其递归概念来解决递归关系以找出算法的复杂性,我该如何证明:

T(n) = T(n/2)+O(1)

T(n) = O(log(n)) ?

任何解释都将不胜感激!

【问题讨论】:

Master theorem。情况 2。a = 1 和 b = 2。 【参考方案1】:

你的重复是

T(n) = T(n / 2) + O(1)

由于主定理适用于形式的递归

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

在这种情况下你有

a = 1 b = 2 c = 0

因为 c = logba (因为 0 = log2 1),你在主定理的case two 中,求解到 Θ(nc log n) = Θ(n0 log n) = Θ(log n).

希望这会有所帮助!

【讨论】:

谢谢你的解释!!

以上是关于使用主定理求解递归 T(n) = T(n / 2) + O(1)? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

求解递归关系 T(n) = √n T(√n) + n [关闭]

用 log n 求解主定理:T(n) = 2T(n/4) + log n

递归式的三种求解方式

在 T(n) = T(n/2) + n 上应用主定理

如何解决以下复发?

算法复杂度,求解递归方程