📜  门| GATE-CS-2015(模拟测试)|问题 10

📅  最后修改于: 2021-09-24 05:28:12             🧑  作者: Mango

选择具有运行时间 T(n, n) 的算法的正确渐近复杂度,其中

T(x, c) = Θ(x) for c <= 2,
T(c, y) = Θ(y) for c <= 2, and
T(x, y) = Θ(x+y) + T(x/2, y/2) 

(A) Θ(nLogn)
(B) Θ(n 2 )
(C) Θ(n)
(D) Θ(n 2 Logn)答案: (C)
说明:重复是

T(x, y) = Θ(x+y) + T(x/2, y/2) 

可以写成如下。

T(x, y) = Θ(x+y) + Θ((x+y)/2) + Θ((x+y)/4) +  Θ((x+y)/8)  .....
T(x, y) = Θ((x+y) + (x+y)/2 + (x+y)/4 + (x+y)/8  ..... )

上式构成比率为2、起始元素为(x+y)/2的几何级数

由于无穷级数的总和为 2(x+y),因此 T(x, y) 的上限为 Θ(x+y)。它的下界为 (x+y)

资料来源:http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/assignments/MIT6_006F11_ps1.pdf

这个问题的测验