9

因此,在之前的考试中,我被要求在不使用主定理的情况下求解以下递归方程:

T(n)= 9T(n/3) + n^2

不幸的是,我在考试中无法弄清楚,所以我使用大师定理解决了它,这样我就可以知道答案(但是,当然,我没有得到这个问题的学分),现在我想知道如何在没有硕士定理的情况下解决它,因为在期末考试中,会有类似的问题。

如果有人可以提供一步一步的解决方案(带有解释),那就太好了,谢谢!

4

1 回答 1

9

诀窍是不断扩大,直到你看到模式。

T(n) 
= 9 T(n/3) + n^2 
= 9(9T(n/3^2) + n^2/3^2) + n^2 
= 9^2 T(n/3^2) + 2n^2
= 9^2 (9 T(n/3^3) + n^2/3^4) + 2n^2
= 9^3 T(n/3^3) + 3n^2
= ...
= 9^k T(n/3^k) + kn^2

这一直持续到 k 达到 3^k = n。

假设T(1)=1,你得到 T(n) = n^2 +kn^2 = n^2 + log_3(n) n^2

所以它看起来像T(n) = O(n^2 logn),除非我犯了一个错误。

于 2015-02-20T22:46:53.070 回答