簡體   English   中英

使用主法求解T(n)= 2T(n / 2)+ n / log n和T(n)= 4T(n / 2)+ n / log n之間的差異

[英]Difference between solving T(n) = 2T(n/2) + n/log n and T(n) = 4T(n/2) + n/log n using Master Method

我最近偶然發現了一個資源,其中MM的2T(n / 2)+ n / log n 類型的重復被宣布無法解析。

我接受它作為一個引理,直到今天,當另一個資源被證明是一個矛盾(在某種意義上)。

根據資源(下面的鏈接):其中的Q7和Q18是rec。 分別在問題1和2中,Q7的答案表明它不能通過給出'多項式差異b / wf(n)和n ^(記錄基數b)'的原因來解決。 相反,答案18使用案例1解決了第二次復發(在這里的問題中)。

http://www.csd.uwo.ca/~moreno/CS433-CS9624/Resources/master.pdf

有人可以清除混亂嗎?

如果你試圖應用主定理

T(n) = 2T(n/2) + n/log n

你考慮a = 2, b = 2 ,這意味着logb(a) = 1

  1. 你可以申請案例1嗎? 0 < c < logb(a) = 1 n/logn = O(n^c) 不,因為n/logn增長速度比n^c快得多
  2. 你可以申請案例2嗎? 編號c = 1你需要找到一些k> 0,這樣n/log n = Theta(n log^kn )
  3. 你可以申請案例3嗎? c > 1 ,是n/logn = Big Omega(n^c) 不,因為它甚至不是Big Omega(n)

如果你試圖應用主定理

T(n) = 4T(n/2) + n/log n

您認為a = 4, b = 2 ,這意味着logb(a) = 2

  1. 你可以申請案例1嗎? c < logb(a) = 2 n/logn = O(n^0)n/logn = O(n^1) 是的確n/logn = O(n) 因此,我們有

     T(n) = Theta(n^2) 

注意:關於0 <c <1,案例1的說明

案例1更多地是關於分析。

f(x) = x/log(x) , g(x) = x^c , 0< c < 1
f(x) is O(g(x)) if f(x) < M g(x) after some x0, for some M finite, so 
f(x) is O(g(x)) if f(x)/g(x) < M cause we know they are positive

這不是真的,我們y = log x

f2(y) = e^y/y , g2(y) = e^cy , 0< c < 1
f2(y)/g2(y) = (e^y/y) / (e^cy) = e^(1-c)y / y  , 0< c < 1

lim inf f2(y)/g2(y) = inf
lim inf f(x)/g(x) = inf

這是因為在Q18中我們得到a = 4b = 2 ,因此得到n^{log(b,a)} = n^2 ,其指數嚴格大於n/log(n)的多項式部分的指數n/log(n)

暫無
暫無

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

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