如何根据运行时间查找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?
有人可以解释如何解决这个问题的步骤吗?
答案 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