我有这个复发:
T(n)= 2T(n/2) + (n-1)
我的尝试如下:
树是这样的:
T(n) = 2T(n/2) + (n-1)
T(n/2) = 2T(n/4) + ((n/2)-1)
T(n/4) = 2T(n/8) + ((n/4)-1)
...
- 树的高度:(n/(2 h ))-1 = 1 ⇒ h = lg n - 1 = lg n - lg 2
- 最后一级的成本:2 h = 2 lg n - lg 2 = (1/2) n
- 直到级别 h-1 的所有级别的成本:Σ i=0,...,lg(2n) n - (2 i -1),这是一个几何级数,等于 (1/2)((1/2 )n-1)
所以,T(n) = Θ(n lg n)
我的问题是:对吗?