In tutta questa risposta, assumiamo che e T non siano negativi. La nostra prova funziona ogni volta che f = Θ ( g ) per alcuni g monotone . Questo include il tuo esempio di Mergesort, in cui f = Θ ( n ) e qualsiasi funzione che ha un tasso di crescita polinomiale (o addirittura Θ ( n a log b n ) ).fTf=Θ(g)gf=Θ(n)Θ(nalogbn)
Consideriamo innanzitutto il caso in cui è monotono non decrescente (rilasseremo questa ipotesi più avanti). Ci concentriamo sulla ricorrenza del campione
T ( n ) = T ( ⌊ n / 2 ⌋ ) + T ( ⌈ n / 2 ⌉ ) + f ( n ) .
Questa ricorrenza necessita di due casi base, T ( 0 ) e T ( 1 ) . Partiamo dal presupposto che T ( 0 )f
T(n)=T(⌊n/2⌋)+T(⌈n/2⌉)+f(n).
T(0)T(1) , che ci rilasseremo anche in seguito.
T(0)≤T(1)
Sostengo che sia monotono non decrescente. Dimostriamo per induzione completa che T ( n + 1 ) ≥ T ( n ) . Questo è dato per n = 0 , quindi sia n ≥ 1 . Abbiamo
T ( n + 1 )T(n)T(n+1)≥T(n)n=0n≥1
Ciò implica che
T(2⌊ log 2 n⌋)≤T(n)≤T(2⌈ log 2 n⌋).
Quindi seT(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⌋).
, abbiamo finito. Questo è sempre il caso se la soluzione per potenze di due è della forma
T ( n ) = Θ ( n a log b n ) .
T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)
Ora rilassiamo il presupposto che . Considera una nuova ricorrenza T ′ definita esattamente allo stesso modo, solo T ′ ( 0 ) = T ′ ( 1 ) = min ( T ( 0 ) , T ( 1 ) ) . Possiamo provare per induzione che T ′ ( n ) ≤ T ( n )T(0)≤T(1)T′T′(0)=T′(1)=min(T(0),T(1))T′(n)≤T(n). Allo stesso modo, possiamo definire una nuova ricorrenza soddisfacente T ″ ( 0 ) = T ″ ( 1 ) = max ( T ( 0 ) , T ( 1 ) ) , e quindi T ( n ) ≤ T ″ ( n ) . Invocando il teorema del Maestro, vediamo che T ′ = Θ ( h ) e T ″ = Θ (T′′T′′(0)=T′′(1)=max(T(0),T(1))T(n)≤T′′(n)T′=Θ(h) per lastessafunzione h , e quindi anche T = Θ ( h ) .T′′=Θ(h)hT=Θ(h)
Ora rilassiamo l'ipotesi che sia monotona. Supponiamo che f = Θ ( g ) per qualche funzione monotona g . Quindi c g ( n ) ≤ f ( n ) ≤ C g ( n ) per alcuni c , C > 0 e n abbastanza grandi. Assumiamo per semplicità che n = 0 ; il caso generale può essere gestito come nel paragrafo precedente. Ancora una volta definiamo due ricorrenze T ′ff=Θ(g)gcg(n)≤f(n)≤Cg(n)c,C>0nn=0 sostituendo f con c g , C g (rispettivamente). Ancora una volta il teorema del Maestro darà lo stesso risultato (fino a multipli costanti), che è anche identico (fino a multipli costanti) a quello che otterremmo risolvendo la ricorrenza originale solo su potenze di due.T′,T′′fcg,Cg