T(0) = 3 for n <= 1
T(n) = 3T(n/3) + n/3 for n > 1
所以答案的假設是O(nlogn)
..以下是我做到了,這不是給我正確的答案:
T(n) = 3T(n/3) + n/3
T(n/3) = 3T(n/3^2) + n/3^2
底塗此爲T(N)給出..
T(n) = 3(3T(n/3^2) + n/3^2) + n/3
T(n/3^2) = 3(3(3T(n/3^3) + n/3^3) + n/3^2) + n/3
它最終會像..
T(n) = 3^k (T(n/3^k)) + cn/3^k
設置k = lgn..
T(n) = 3^lgn * (T(n/3^lgn)) + cn/3^lgn
T(n) = n * T(0) + c
T(n) = 3n + c
答案的O(n)
though..What不對我的步驟是什麼?
你應該申請碩士定理:http://en.wikipedia.org/wiki/Master_theorem – carl