0

求紧渐近界:

如果 n = 1,则 T(n) = 1

2T(n/4) + T(n/2) + n 2如果 n > 1

我尝试绘制递归树。第一行我有 n 2,第二行我有 (3/8)(n 4 ),第三行我有 (27/1024)(n 8 ).. 不知道如何从那里继续。提前致谢。

4

1 回答 1

1

我认为主定理可以应用于这个问题。它比递归树更容易理解。

将递推公式写成另一种形式。添加T(n/2)到左侧和右侧。

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

T(n) + T(n/2) = + 2[ T(n/4) + T(n/2) ] + n 2

定义G(n) = T(n) + T(n/2),然后

G(1) = Θ(1)

G(n) = 2G(n/2) + n 2,如果 n > 1

将主定理应用于上述新的递推公式

G(n) = Θ(n 2 )

那是

T(n) + T(n/2) = Θ(n 2 )

对于 n > 1

T(n) = 2 * T(n/4) + T(n/2) + n 2

= T(n/4) + [ T(n/2) + T(n/4) ] + n 2

= T(n/4) + Θ(n2/4) + n2

= T(n/4) + Θ(n2)

将主定理应用于上述新的递推公式

T(n) = Θ(n2)

于 2013-05-25T12:36:16.620 回答