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

How to find the asymptotically upper bounds for T(n) in the recurrences?

我想知道如何准确找到 T(n) 的严格上限? 例如下面的一个例子:

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

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

我在这里使用域转换。

n = 22k ==> n/2 = 22k-1 and n1/2 = 22k-1

之后,我不知道如何用T(n)中的加法来解决这种问题。 希望有人能告诉我如何解决这种复发。

谢谢 Ali Amiri, 按照你说的,我大概考虑一下。

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

让,

n = 2k,

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

假设ak = T(2k)

使用域变换,我得到:

ak = 2kc1 + c2

因此,

T(n) = O(n).

我说得对吗?还是错了?

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)。