Algorithm 算法分析与递归比较

Algorithm 算法分析与递归比较,algorithm,time,analysis,recurrence,Algorithm,Time,Analysis,Recurrence,让算法X:T(n)=7T(n/2)+n^2和Y:T'(n)=aT'(n/4)+n^2 我需要找到最大的值 a ,使得算法 y>代码>比算法 x>代码>渐近快。 < p>该解决方案应该与此类似,但是你应该考虑Lead和Ciel. 对于算法X,我们有: T(n)=7T(n/2)+n^2 => O(n)=n^2 + 7(n/2)^2 + 49(n/2)^3 + ... + 7^log(n)(n/2)^(log(n)+1) => O(n)=n^2 . [7/(2^2) + 7^2/2^3 +

让算法
X:T(n)=7T(n/2)+n^2和Y:T'(n)=aT'(n/4)+n^2


我需要找到最大的值<代码> a <代码>,使得算法<代码> y>代码>比算法<代码> x>代码>渐近快。

< p>该解决方案应该与此类似,但是你应该考虑Lead和Ciel.

对于算法X,我们有:

T(n)=7T(n/2)+n^2
=> O(n)=n^2 + 7(n/2)^2 + 49(n/2)^3 + ... + 7^log(n)(n/2)^(log(n)+1)
=> O(n)=n^2 . [7/(2^2) + 7^2/2^3 + ... + 7^log(n)/2^(log(n)+1)]
=> O(n)=n^2 . \sum_{i=1 to log(n)}{1/2x(7/2)^i}   <= geometrical series summation easy
T(n)=7T(n/2)+n^2
=>O(n)=n^2+7(n/2)^2+49(n/2)^3+…+日志(n)(n/2)^(日志(n)+1)
=>O(n)=n^2。[7/(2^2)+7^2/2^3+…+7^log(n)/2^(log(n)+1)]
=>O(n)=n^2\使用以下公式求和{i=1到log(n)}{1/2x(7/2)^i}:-

X:T(n)=O(n^log2(7))
因此,利用masters定理得到一个渐近更快的算法
2.
    X : T(n) = O(n^log2(7))

So to get an asymptotically faster algorithm using masters theorem   

    2 <= log4(a) < log2(7)

 Finding max value such that the condition is true :-

    log4(a) < log2(7)     
    log2(a)/log2(4) < log2(7)   
    log2(a)/2 < log2(7)
    log2(a) < 2*log2(7)
    a < 7^2   =  a < 49

 As a is no of subproblems it needs to be integer therefore :-

 a = 48 is max value that a can take so that Y is asymptotically faster than X