给出以下递归方程:
T(n) = 5T(n/5)+(5sin^5(5n^5)+5)*n
T(n) = T(n/4)+2sin^2(n^4)
我可以很容易地看到这两个方程都符合主定理的第二种情况,
但是由于sin是一个圆形函数,它似乎足够大N. 可能会使它真的接近于零。 所以,我们总能找到一个N>两个常数c1,c2的N0(按照theta定义) 哪会不赞成..
用主定理解决它真的可能吗?
感谢
答案 0 :(得分:3)
我认为你是对的,主定理不适用于此。原因是f(n)
和n^(log_b(a))
之间的差异必须是多项式的。 (见Master Theorem Recurrences: What is exactly polynomial difference?)
在你的情况下:
((5sin^5(5n^5)+5)*n)/(n^(log_5(5)))=(5sin^5(5n^5)+5
,并
(2sin^2(n^4))/(n^(log_4(1)))= 2sin^2(n^4)
,这不是多项式,因此在这种情况下,主定理无效。