在此证明中需要帮助理解主定理

时间:2013-10-16 01:24:19

标签: computer-science theory master computation theorem

如果有人可以帮我解决几个问题,我将非常感激,

对于以下每个递归函数定义,使用主定理来确定其渐增的增长顺序(即Big-Tetha)。如果您认为Master定理不适用于某个案例,请正确解释原因。在这些情况下,你还可以为运行时间提供一个合理的上限(即Big-O)吗?请注意,基本情况都假定为常量。

(a)T(n)= T(n / 2)+ 2 ^ n

(b)T(n)= 4T(n / 2)+(n ^ 1.5) - 1

(c)T(n)= T(n / 3)+ 100

(d)是T(n)= 125T(n / 5)+ n ^ 3 / logn

(e)T(n)= 2T(n / 7)+ log n +√n

我刚刚在网上阅读了一些有关此内容的内容,但我无法获得足够的理解来回答这个问题。任何帮助将不胜感激,我正在努力学习测试,我没有得到任何这个!

非常感谢!

1 个答案:

答案 0 :(得分:0)

除(a)之外的所有项目都适用于Masther定理。在情况(a)中,收费函数不是多项式,因此,Master定理不适用。但是可以通过扩展解决它:

T(n) = 2^n + T(n/2) 
     = 2^n + 2^(n/2) + T(n/4) 
     = 2^n + 2^(n/2) + 2^(n/4) + T(n/8)
     = ... 
     = O(2^n).

通过将重复作为二进制数的和来解释结果是明确的:1 + 10 + 100 + 10000 + 10000000 <= 2 * 10000000。