[英]How to Solve this task 𝑇(𝑛)=4𝑇(𝑛/4)+𝑛√n?
I'm new to Divide and Conquer.我是分而治之的新手。 I would like to know how to find out the running time of this calculation?
我想知道如何找出这个计算的运行时间?
What exactly do I have to pay attention to and how do I proceed?我究竟需要注意什么以及如何进行?
n=1 runningtime = O(1) n=1 运行时间 = O(1)
T(n) = 4T(n/4) + n * sqrt(n)
T(n) = 4T(n/4) + n * sqrt(n)
expanding for sum k steps it will be like扩展总和 k 步它会像
T(n) = 4^k[T(n/4^k)] + n * sqrt(n) * {sqrt(1/4)+sqrt(1/16)....}
T(n) = 4^k[T(n/4^k)] + n * sqrt(n) * {sqrt(1/4)+sqrt(1/16)....}
here {sqrt(1/4)+sqrt(1/16)....} is Geometric progression这里 {sqrt(1/4)+sqrt(1/16)....} 是几何级数
if we take k=log4(n) //here base is 4
如果我们取k=log4(n) //这里的基数是 4
T(n) = n * [T(1)] + n * sqrt(n)*{1-[2/sqrt(n)]}
T(n) = n * [T(1)] + n * sqrt(n)*{1-[2/sqrt(n)]}
T(n) = n * [T(1)] + n * sqrt(n) -2 * n
T(n) = n * [T(1)] + n * sqrt(n) -2 * n
you still can use你仍然可以使用
If f(n) = Θ(n^d), where d ≥ 0, then
如果 f(n) = Θ(n^d),其中 d ≥ 0,则
T(n) = Θ(n^d) if a < bd,
T(n) = Θ(n^d) 如果 a < bd,
T(n) = Θ((n^d)log n) if a = bd,
T(n) = Θ((n^d)log n) 如果 a = bd,
T(n) = Θ(n^(logba)) if a > bd
T(n) = Θ(n^(logba)) 如果 a > bd
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.