递归关系问题

时间:2018-07-02 04:17:28

标签: algorithm computer-science asymptotic-complexity recurrence

我在测试中具有以下复发关系,但我弄错了,我不确定为什么。

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

使用MT:a = 2,b = 4,f(n)= n ^ 0.5

比较n ^(log_4(2))与n ^ 0.5 => n ^ 0.5 == n ^ 0.5

因此,情况3:Θ(n log n)

显然那是错的,不知道为什么。

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

使用MT:a = 3,b = 4,f(n)= n ^ 0.75

比较n ^(log_4(3))与n ^ 0.75

因此,情况1:Θ(n ^ log_4(3))

 3. T(n) = T(n/2) + T(n/3) + O(n log n)

这不是MT可以解决的形式,如果没有帮助,我无法轻易找到p值。因此,我在黑暗中刺了一下,这是错误的。不知道从哪里开始。

 4. T(n) = 2T(n/2) + n log n

使用MT:a = 2,b = 2,f(n)= n log n

比较n ^ log_2(2)与n log n => n ^ 1与n log n

情况2:Θ(n log n)

1 个答案:

答案 0 :(得分:1)

您可能误读或忽略了Master定理的某些细节。将引用Wikipedia article


1)

第二种情况指出:

enter image description here

由于c_crit = 0.5k = 0,最终的复杂度是:

  

enter image description here

您只是错过了前面n上的指数。


2)

  

这是正确的。


4)

您在这里错过了另一个详细信息:k = 1,并且需要附加一个因素log n

  

enter image description here


3)

这有点棘手。使用Akra-Bazzi method

enter image description here

要求解指数p,只需在计算器上使用Newton-Raphson-给出p = 0.787885...。按部分执行集成:

enter image description here

替换为:

  

enter image description here