在整个答案中,我们假设和T为非负数。只要某单调g的f = Θ (g ),我们的证明就起作用。这包括您的Mergesort示例,其中f = Θ (n ),以及任何具有多项式增长率(或什至Θ (n a log b n ))的函数。fTf=Θ(g)gf=Θ(n)Θ(nalogbn)
让我们首先考虑是单调非递减的情况(稍后我们将放松此假设)。我们专注于您的样品复发
Ť (Ñ )= Ť (⌊ ñ / 2 ⌋ )+ Ť (⌈ ñ / 2 ⌉ )+ ˚F (Ñ )。
此重复需要两个基本情况T (0 )和T (1 )。我们假设T (0 )f
T(n)=T(⌊n/2⌋)+T(⌈n/2⌉)+f(n).
T(0)T(1),其中,我们还放松以后。
T(0)≤T(1)
我声称是单调非递减的。我们证明通过完整感应该Ť (Ñ + 1 )≥ Ť (Ñ )。这给出了Ñ = 0,所以让Ñ ≥ 1。我们有
T (n + 1 )T(n)T(n+1)≥T(n)n=0n≥1
这意味着,
Ť(2⌊登录2 Ñ⌋)≤Ť(Ñ)≤Ť(2⌈登录2 Ñ⌋)。
所以如果T(2
T(n+1)=T(⌊(n+1)/2⌋)+T(⌈(n+1)/2⌉)+f(n+1)≥T(⌊n/2⌋)+T(⌈n/2⌉)+f(n)=T(n).
T(2⌊log2n⌋)≤T(n)≤T(2⌈log2n⌋).
,我们就完成了。如果2的幂的解的形式为
T (n )= Θ (n a log b n ),则情况总是如此。
T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)
现在,让我们放松假设。考虑以完全相同的方式定义的新递归T ',仅T '(0 )= T '(1 )= min (T (0 ),T (1 ))。我们可以通过归纳证明。同样,我们可以定义一个满足的新递归T(0)≤T(1)T′T′(0)=T′(1)=min(T(0),T(1))T′(n)≤T(n)T′′ţ (Ñ )≤ Ť ”(Ñ )Ť ' = Θ (h )T '' = Θ (h )hT′′(0)=T′′(1)=max(T(0),T(1)),然后是。调用Master定理,对于相同的函数,我们看到和,所以也是如此。T(n)≤T′′(n)T′=Θ(h)T′′=Θ(h)hT=Θ(h)
现在让我们放宽是单调的假设。假设对于某些单调函数,。因此,对于某些和足够大的。为了简单起见,我们假设;一般情况可以按上一段所述处理。同样,我们通过分别用替换来定义两个递归。再次,母定理将给出相同的结果(最大恒定倍数),这也与我们通过仅以2的幂求解原始递归得到的结果相同(最大恒定倍数)。ff=Θ(g)gcg(n)≤f(n)≤Cg(n)c,C>0nn=0T′,T′′fcg,Cg