Ao longo desta resposta, assumimos que e não são negativos. Nossa prova funciona sempre que para algum monótono . Isso inclui o exemplo do Mergesort, no qual e qualquer função com taxa de crescimento polinomial (ou mesmo ).t f = Θ ( g ) g f = Θ ( n ) Θ ( n um log b n )fTf=Θ(g)gf=Θ(n)Θ ( numaregistrobn )
Vamos considerar primeiro o caso em que é monótono e não diminui (relaxaremos essa suposição mais tarde). Nós nos concentramos na recorrência da amostra
Essa recorrência precisa de dois casos base, e . Assumimos que , que também relaxamos mais tarde.T ( n ) = T ( ⌊ n / 2 ⌋ ) + T ( ⌈ n / 2 ⌉ ) + f ( n ) . T ( 0 ) T ( 1 ) T ( 0 ) ≤ T ( 1 )f
T( n ) = T( ⌊ n / 2 ⌋ ) + T( ⌈ n / 2 ⌉ ) + f( N ) .
T( 0 )T( 1 )T( 0 ) ≤ T( 1 )
Afirmo que é monótono e não diminui. Provamos por indução completa que . Isso é dado para , então deixe . Temos
Isso implica que
Portanto, se , terminamos. Este é sempre o caso se a solução para potências de dois tiver a forma .T ( n + 1 ) ≥ T ( n ) n = 0 n ≥ 1 T ( n + 1 )T( N )T( n + 1 ) ≥ T( N )n = 0n ≥ 1T(2⌊ log 2 n⌋)≤T(n)≤T(2⌈ log 2 n⌋). T(2m)=Θ
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⌋).
T ( n ) = Θ ( n aT(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)
Agora vamos relaxar a suposição de que . Considere uma nova recorrência definida exatamente da mesma maneira, apenas . Podemos provar por indução que . Da mesma forma, podemos definir uma nova recorrência satisfazendo e depois . Invocando o teorema do Mestre, vemos que e para a mesma função , e também .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 ″ T ″ ( 0 ) = T ″ ( 1 ) = max (T′(n)≤T(n)T′′T ( n ) ≤ T ″ ( n ) T ′ = Θ ( h ) T ″ = Θ ( h )T′′(0)=T′′(1)=max(T(0),T(1))T(n)≤T′′(n)T′=Θ(h)T′′=Θ(h)T = Θ ( h )hT=Θ(h)
Agora vamos relaxar a suposição de que é monótono. Suponha que para alguma função monótona . Assim por algum e suficientemente grande. Assumimos por simplicidade que ; o caso geral pode ser tratado como no parágrafo anterior. Novamente, definimos duas recorrências substituindo por (respectivamente). Mais uma vez, o teorema do mestre dará o mesmo resultado (até múltiplos constantes), que também é idêntico (até múltiplos constantes) ao que obteríamos ao resolver a recorrência original apenas com potências de dois.f = Θ ( g ) g c g ( n ) ≤ f ( n ) ≤ C g ( n ) c , C > 0 n n = 0 T ′ , T ″ f c g , C gff=Θ(g)gcg(n)≤f(n)≤Cg(n)c,C>0nn=0T′,T′′fcg,Cg