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

时间:2016-11-04 05:37:06

标签: algorithm time-complexity

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

我知道它可以用Master定理解决,但我不知道如何处理 f(n)= n!

1 个答案:

答案 0 :(得分:2)

这是Master Theorem的第三种情况。

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

以来

这里f(n)= n!。

a = 16且b = 4,因此log b a = log 4 16 = 2.

主定理表明复数T(n)=Θ(f(n))if c> log b a其中f(n)∈Ω(n c )。 因为f(n)= n! > n c 对于某些n> 1的值。 n 0 语句f(n)∈Ω(n c )为真。因此声明 c> log b a = 2也是如此。因此,通过Master Thoerem的第三个案例,复杂性 T(n)=Θ(f(n))=Θ(n!)