簡體   English   中英

如何解決這個任務 ()=4(/4)+√n?

[英]How to Solve this task 𝑇(𝑛)=4𝑇(𝑛/4)+𝑛√n?

我是分而治之的新手。 我想知道如何找出這個計算的運行時間?

我究竟需要注意什么以及如何進行?

n=1 運行時間 = O(1)

所以讓我們看看這個計算:

T(n) = 4T(n/4) + n * sqrt(n)
擴展總和 k 步它會像
T(n) = 4^k[T(n/4^k)] + n * sqrt(n) * {sqrt(1/4)+sqrt(1/16)....}
這里 {sqrt(1/4)+sqrt(1/16)....} 是幾何級數
如果我們取k=log4(n) //這里的基數是 4
T(n) = n * [T(1)] + n * sqrt(n)*{1-[2/sqrt(n)]}
T(n) = n * [T(1)] + n * sqrt(n) -2 * n

你仍然可以使用

主定理

T(n) = aT(n/b) + f(n)。

如果 f(n) = Θ(n^d),其中 d ≥ 0,則

T(n) = Θ(n^d) 如果 a < bd,
T(n) = Θ((n^d)log n) 如果 a = bd,
T(n) = Θ(n^(logba)) 如果 a > bd


是的 ans 是 O(n^3/2)
{抱歉,由於聲譽低,無法發表評論}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM