下面表达式的时间复杂度是多少?



T(n) = 16T(n/4) + n!

我知道它可以用大师定理来解,但我不知道如何处理F (n) = n!

这是主定理的情形三。

T(n) = 16T(n/4) + n!

f(n) = n!

a = 16, b = 4,故logb a = log4 16 = 2。

主定理指出复杂度T(n) = Θ(f(n))如果C> logb a where f(n) ∈ω;(n <一口> c> nc对于n> n0语句f(n) ∈ω;(nc)为真。因此这个说法C> logb a =2也成立。因此,对于索伦大师的第三种情况,复杂度T(n) = Θ(f(n)) = Θ(n!)

最新更新