![](/img/trans.png)
[英]How to solve this recursion T(n) = 5T(n/2) + n^2 lg n using master's theorem?
[英]Solving the recurrence T(n) = T(n / 2) - T(n / 6) + O(lg n) using the master theorem method?
. 使用主定理方法求解遞歸 T(n) = T(n / 2) - T(n / 6) + O(lg n)?
代入法建議我們猜測解,然后通過歸納證明。
這里我們猜測部分解:T(2^k) = k+1
這給了我們 T(n) = lg(n) + 1 對於 na 2 的冪。為了將其擴展到完整的解決方案,讓 n' 是大於或等於 n 的 2 的最小冪(對於任意 n>0 )。 然后 T(n) <= T(n') = lg(n') + 1。由於 n' < 2n,我們有 lg(n') < lg(2n) = lg(n) + 1。所以 T( n) < lg(n) + 2。
因此我們證明了 T(n) = O(lg(n))。
它是O(log₂(n))
:
__
T(n) = T(n/2) + 1 |
T(n/2) = T(n/4) + 1 |
T(n/4) = T(n/8) + 1 |-- k operations
... |
T(1) = 1 __|
n/2^k = 1 => n = 2^k => k = log₂(n) (by definition of log₂).
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.