[英]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
0 < c < logb(a) = 1
。 是n/logn = O(n^c)
。 不,因為n/logn
增長速度比n^c
快得多 c = 1
你需要找到一些k> 0,這樣n/log n = Theta(n log^kn )
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嗎? 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 = 4
且b = 2
,因此得到n^{log(b,a)} = n^2
,其指數嚴格大於n/log(n)
的多項式部分的指數n/log(n)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.