我在渐近分析问题上遇到了一些麻烦: 我的问题是如果在我的问题中陈述'a',则计算最大值:
An Algorith A has running time T(n)= 7T(n/2) + n^2
and Algorith B has running time T' = aT'(n/4) + n^2.
What will be the maximum integer value of 'a' such that algorith B runs
asymptotically faster than A.
我应该如何找到'a'的值,如果我只使用算法概念,或者是他们以任何其他方式找出或解决任何问题。
答案 0 :(得分:2)
这是使用大师定理的好地方。
在第一次复发中,T(n)= 7T(n / 2)+ n 2 ,主定理说,
由于log b a = log 2 7大于d = 2,因此递推求解为T(n)=Θ(n log 2 子> 7 )。
现在,让我们看看T'(n)。在这里,我们有一个未知的,b = 4,并且d = 2.如果我们满足以下条件:
然后主定理说T'(n)=Θ(n log 4 a )= o(n log 2 7 )我们完成了。所以我们需要解决一个。
这样做
log 4 a< log 2 7
log 2 a / log 2 4< log 2 7(使用日志基础公式的更改)
log 2 a / 2< log 2 7
log 2 a< 2 log 2 7
log 2 a< log 2 7 2 (使用日志的电源规则)
log 2 a< log 2 49
a< 49
因此,您可以选择的最大积分是48。
希望这有帮助!
答案 1 :(得分:0)
求解方程以获得非递归运行时公式