[英]How to calculate T(n) = 3T(n/3) + O(lg n)
我知道O(lg n)
和T(n)
含義,並且在算法分析中我不知道如何計算T(n) = 3T(n/3) + O(lg n)
。 我應該擴展它嗎?
就像:
T(n) = 3^2 *T(n/3^2) + O(lg n/3) + O(lg n) and so on...
然后我得到
T(n) = 3^(log b^n) * T(1)+ 3^[log b ^ (n-1)]* lg (n/(3^[log b ^(n-1)])) ...+ O(lg n/3) +O(lg n)
但是我如何才能找到正確的答案,又能找到一種簡單的方法呢?
我認為您可以使用大師定理。
T(n)=aT(n/b) + f(n)
Here a=3, b=3 and f(n)=O(log n)
f(n) = O(log n) = O(n)
這意味着答案是BigTheta(n)
有關Masters定理公式plz,請參閱Wikipedia。 有三個規則,非常簡單
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.