O método mestre para o retorno , muitas vezes chamado de teorema mestre, calcula os recursos necessários para executar um algoritmo recursivo , como o tempo de execução em um computador . O método mestre usa o que é conhecido como Big O notação para descrever o comportamento assintótico de funções , ou seja, a rapidez com que crescem em direção ao seu limite. Divide and Conquer
Um algoritmo recursivo pode ser dividido em sub- problemas, usando o "dividir e conquistar " a estratégia. Cada uma destas sub- problemas se ramifica a partir do problema original e pode ser pensado como um nó . Pelo teorema de mestre , esses nós são chamados n /b , em que n é o tamanho do problema original , e b é o número de peças no qual é quebrado , assumido ser de igual tamanho . De cada um desses nós , nós filhos podem se ramificam , que por sua vez também podem ser tratadas uma a uma com a estratégia de dividir e conquistar .
Mestre Teorema
o teorema mestre funciona para algoritmos recursivas T (n ) , em que T ( n ) = aT ( n /b ) + f ( n ) , e T ( 1 ) = C , de modo que existe um valor de partida a partir do qual a gerar o recursão. Um exemplo é T (n ) = 2T ( n /4 ) + n ^ 2 . O teorema mestre , em seguida, classifica o algoritmo em uma categoria com outros algoritmos que levam a mesma quantidade de trabalho.
Casos não abrangidos
O teorema mestre não pode ser usado se T ( n) é uma monótona , como pecado n . Essa função não experimentar o crescimento , é por isso que é chamado um tom monótono . f ( n ) tem de ser um polinomial , tal 2x ^ 3 + 3x + 4 , em oposição a funções como a 2 ^ n . b deve ser de pelo menos 2, e deve ser de pelo menos 1 , e c deve ser positivo.
Exemplo
T ( n) = T8 (n /2 ) + 1000N ^ 2
T ( n) = theta (n ^ ( log_base_b a) )
a = 8
b = 2
T (n) = theta (n ^ 3)
isso nos diz que este algoritmo recursivo pertence ao tipo n ^ 3, e terão o mesmo tempo de execução como outros algoritmos nessa categoria.
< br >