基于运行时间的渐近复杂度?

时间:2014-02-03 23:53:41

标签: asymptotic-complexity

如何根据运行时间查找asymptotic complexity?例如:

If the run time of a recursive algorithm is given as

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

considering the Master Theorem, what is its asymptotic complexity?

有人可以解释如何解决这个问题的步骤吗?

1 个答案:

答案 0 :(得分:0)

对于主定理,有3种不同的案例需要解决。

第一步是了解哪种情况适用。

对于涉及主定理的问题,我们的通式为T(n)= aT(n / b)+ f(n)

首先要做的是将n ^(logb a)与​​f(n)进行比较。

无论哪个更大都是它的复杂性(这些是案例1和3),如果它们相等,那么你将结果乘以lgn,例如,如果你有一个像T(n)= 16 T(n)的情况/ 4)+ O(n ^ 2)然后 n ^(logb a)将使n ^ 2以及f(n)= n ^ 2,因此答案将是Θ(n ^(2)* lgn),这是通过使用主定理的情况#2