I tre casi del Teorema del Maestro a cui ti riferisci sono provati nell'Introduzione agli algoritmi di Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein (2a Edizione, 2001).
Si osserva correttamente che la ricorrenza in questione rientra tra il caso 2 e il caso 3. Questo è cresce più velocemente di n ma più lentamente di n 1 + ε per qualsiasi ε > 0 .f(n)=nlognnn1+εε>0
Tuttavia, il teorema può essere generalizzato per coprire questa ricorrenza. Prendere in considerazione
f(n)=Θ(nlogbalogkbn)k≥0
k=0f(x)Θ(logbn)
T(n)=Θ(nlogbalogk+1bn)
Nella Introduzione agli algoritmi questa affermazione è lasciata come esercizio.
T(n)=Θ(n⋅log2n).
Maggiori dettagli sul Teorema del Maestro possono essere trovati nell'eccellente (imho) pagina di Wikipedia .
limx→cf(x)g(x)=limx→cf′(x)g′(x)
f(x)g(x)cf(n)=nlogng(n)=n1+εlogn∉Θ(n1+ε).
Schizzo della prova del teorema del maestro per il caso 2A.
Questa è una riproduzione di parti della dimostrazione da Introduzione agli algoritmi con le modifiche necessarie .
Innanzitutto dimostriamo il seguente Lemma.
Lemma A:
Considera una funzione
doveQuindi
g(n)=∑j=0logbn−1ajh(n/bj)
h(n)=nlogbalogkbn.g(n)=nlogbalogk+1bn.
Prova:
sostituendo nell'espressione con si può ottenere
h(n)g(n)
g(n)=nlogbalogkbn∑j=0logbn−1(ablogba)j=nlogbalogk+1bn.
QED
Se è una potenza esatta di data una ricorrenza
si può riscriverlo come
Sostituendo con , spostando all'esterno e applicando Lemma A otteniamonb
T(n)=aT(n/b)+f(n),T(1)=Θ(1)
T(n)=Θ(nlogba)+∑j=0logbn−1ajT(n/bj).
f(n)Θ(nlogbalogkbn)Θ
T(n)=Θ(nlogbalogk+1bn).
La generalizzazione di questo in un numero intero arbitrario che non è una potenza di va oltre lo scopo di questo post.bnb