分析以下重复的运行时间

时间:2015-11-26 20:33:52

标签: algorithm runtime recurrence

a.T(N)= T(N / 2)+ N; T(1)= 1

因为我知道T(n)= 2T(n / 2)+ n的运行时间是O(nlogn),我认为答案是O(n ^ 2),但正确的答案是O(n)< / p>

B.T(N)= 2T(N / 2)+1; T(1)= 1

因为我知道T(n)= 2T(n / 2)+ n的运行时间是O(logn),我认为答案是O(log n),但正确的答案是O(n)

我真的很困惑,因为T(n)='每级'x'级别的工作'。 我认为b中的工作级别数是O(logn)。

1 个答案:

答案 0 :(得分:2)

使用技巧替换

enter image description here

...如果您看到任何类似T(n / 2)等的条款

a)

enter image description here

b)中

enter image description here