A lo largo de esta respuesta, suponemos y T no son negativos. Nuestra prueba funciona siempre que f = Θ ( g ) para algunos monótonos g . Esto incluye su ejemplo de Mergesort, en el que f = Θ ( n ) y cualquier función que tenga una tasa de crecimiento polinomial (o incluso Θ ( n a log b n ) ).FTF= Θ ( g)solF= Θ ( n )Θ ( nunIniciar sesiónsin )
Consideremos primero el caso de que es monótono no decreciente (relajaremos esta suposición más adelante). Nos concentramos en la recurrencia de su muestra
T ( n ) = T ( ⌊ n / 2 ⌋ ) + T ( ⌈ n / 2 ⌉ ) + f ( n ) .
Esta recurrencia necesita dos casos base, T ( 0 ) y T ( 1 ) . Suponemos que T ( 0 )F
T( n ) = T(⌊n/2⌋)+T(⌈n/2⌉)+f(n).
T(0)T(1) , que también nos relajamos más adelante.
T(0)≤T(1)
Afirmo que es monótono no decreciente. Probamos por inducción completa que T ( n + 1 ) ≥ T ( n ) . Esto se da para n = 0 , así que sea n ≥ 1 . Tenemos
T ( n + 1 )T(n)T(n+1)≥T(n)n=0n≥1
Esto implica que
T(2⌊ log 2 n⌋)≤T(n)≤T(2⌈ log 2 n⌋).
Entonces siT(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⌋).
, hemos terminado. Este es siempre el caso si la solución para las potencias de dos es de la forma
T ( n ) = Θ ( n a log b n ) .
T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)
Ahora relajemos la suposición de que . Considere una nueva recurrencia T ' definida exactamente de la misma manera, solo T ′ ( 0 ) = T ′ ( 1 ) = min ( T ( 0 ) , T ( 1 ) ) . Podemos demostrar por inducción que T ′ ( n ) ≤ T ( n )T(0)≤T(1)T′T′(0)=T′(1)=min(T(0),T(1))T′(n)≤T(n). Del mismo modo, podemos definir una nueva recurrencia satisfactoria T ″ ( 0 ) = T ″ ( 1 ) = max ( T ( 0 ) , T ( 1 ) ) , y luego T ( n ) ≤ T ″ ( n ) . Invocando el teorema del Maestro, vemos que T ′ = Θ ( h ) y T ″ = Θ (T′′T′′(0)=T′′(1)=max(T(0),T(1))T(n)≤T′′(n)T′=Θ(h) para lamismafunción h , y entonces T = Θ ( h ) también.T′′=Θ(h)hT=Θ(h)
Ahora relajemos la suposición de que es monótono. Suponga que f = Θ ( g ) para alguna función monótona g . Por lo tanto c g ( n ) ≤ f ( n ) ≤ C g ( n ) para algunos c , C > 0 y n suficientemente grande. Suponemos por simplicidad que n = 0 ; El caso general se puede manejar como en el párrafo anterior. Nuevamente definimos dos recurrencias T 'ff=Θ(g)gcg(n)≤f(n)≤Cg(n)c,C>0nn=0 reemplazando f con c g , C g (respectivamente). Una vez más, el teorema del Maestro dará el mismo resultado (hasta múltiplos constantes), que también es idéntico (hasta múltiplos constantes) a lo que obtendríamos resolviendo la recurrencia original solo en potencias de dos.T′,T′′fcg,Cg