如何在重现中找到T(n)的渐近上界?

时间:2015-02-01 10:17:40

标签: algorithm big-o asymptotic-complexity

我很想知道如何找到T(n)的紧上限? 举一个例子:

  

T(n)= T(n / 2 + n (1/2))+ n。

我不确定如何在这里使用域或范围转换。

我在这里使用域转换。

  

n = 2 2 k ==> n / 2 = 2 2 k -1   和n 1/2 = 2 2 k-1

之后,我不知道如何通过添加T(n)来解决这类问题。 希望有人能告诉我如何解决这些类型的复发。

谢谢Ali Amiri, 正如你所说,我大概考虑一下。

  

T(n)= T(n / 2)+ n。

然后,

  

n = 2 k

     

==> T(2 k )= T(2 k-1 )+ 2 k

假设 k = T(2 k

使用域转换,我得到:

  

a k = 2 k c 1 + c 2

因此,

  

T(n)= O(n)。

我是对的吗?还是错了?

1 个答案:

答案 0 :(得分:0)

Ali Amiri的直觉是正确的,但这不是一个正式的论点。真的需要像

这样的基础案例
T(n) = 1  for all 0 ≤ n < 9

然后我们可以写

 1/2
n    ≤ n/3  for all n ≥ 9

然后猜测并检查非递减的O(n)解决方案的重复

T'(n) = T'(n/2 + n/3) + n

并且认为T = O(T')= O(n)。