Os três casos do Teorema Mestre a que você se refere são provados na Introdução aos Algoritmos por Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein (2ª Edição, 2001).
Observa-se corretamente que a recorrência em questão se enquadra entre o caso 2 e o caso 3. Ou seja,f(n)=nlogn cresce mais rápido que mas mais lento que n 1 + ε para qualquer ε > 0 .nn1+εε>0
No entanto, o teorema pode ser generalizado para cobrir essa recorrência. Considerar
Caso 2A:
Considere para alguns k ≥ 0 .f(n)=Θ(nlogbalogkbn)k≥0
Este caso se reduz ao caso 2 quando . É intuitivamente claro que ao longo de cada ramificação da árvore de recorrência, f ( x ) é adicionado Θ ( log b n ) vezes. Um esboço de uma prova mais formal pode ser encontrado abaixo. O resultado final é quek=0f(x)Θ(logbn)
.
T(n)=Θ(nlogbalogk+1bn)
Na introdução aos algoritmos, essa declaração é deixada como um exercício.
Aplicando esta afirmação à recorrência em questão, finalmente obtemos
T(n)=Θ(n⋅log2n).
Mais detalhes sobre o Teorema Mestre podem ser encontrados na excelente página da Wikipedia (imho) .
Como @sdcvvc aponta nos comentários para provar que o Caso 3 não se aplica aqui, pode-se invocar a regra de L'Hospital que diz que
para quaisquer funções def(x)eg(x)diferenciável nas imediações doc. Aplicando este paraf(n)=nlogneg(n)=N1+εpode-se mostrar queo logn∉q(n1+ε).
limx→cf(x)g(x)=limx→cf′(x)g′(x)
f(x)g(x)cf(n)=nlogng(n)=n1+εlogn∉Θ(n1+ε).
Esboço da Prova do Teorema Mestre para o Caso 2A.
Esta é uma reprodução de partes da prova da Introdução aos algoritmos com as modificações necessárias .
Primeiro, provamos o seguinte lema.
Lema A:
Considere uma função
onde h ( n ) = n log b a log k b n . Então
g ( n ) = n log b a log k + 1 b n .
g(n)=∑j=0logbn−1ajh(n/bj)
h(n)=nlogbalogkbn.g(n)=nlogbalogk+1bn.
Prova:
Substituindo na expressão por g ( n ), pode-se obter
g ( n ) = n log b a log k b nh(n)g(n)
g(n)=nlogbalogkbn∑j=0logbn−1(ablogba)j=nlogbalogk+1bn.
QED
nb
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).
nb