Tecnología

Inicio

Método maestro para Recurrencia

Método maestro para Recurrencia


El método principal para la repetición, a menudo llamado el teorema maestro, calcula los recursos necesarios para llevar a cabo un algoritmo recursivo, tales como el tiempo de ejecución en un equipo. El método maestro utiliza lo que se conoce como Big O notación para describir el comportamiento asintótico de las funciones, es decir, la rapidez con que crecen hacia su límite.

Divide y conquistaras

Un algoritmo recursivo se puede dividir en sub-problemas, utilizando la estrategia de "divide y vencerás". Cada uno de estos sub-problemas se ramifica a partir del problema original y puede ser pensado como un nodo. Por el teorema de maestro, estos nodos se denominan n / b, donde n es el tamaño del problema original, y b es el número de piezas en el que se rompe, supone que son de igual tamaño. De cada uno de estos nodos, los nodos secundarios pueden ramifican, que a su vez pueden ser enfrentadas una a la vez con la estrategia de divide y vencerás.

Teorema maestro

El teorema maestro funciona para algoritmos T recursiva (n), donde T (n) = aT (n / b) + f (n), y T (1) = C, de modo que hay un valor de partida para generar el recursividad. Un ejemplo es T (n) = 2T (n / 4) + n ^ 2. El teorema maestro entonces el algoritmo clasifica en una categoría con otros algoritmos que toman la misma cantidad de trabajo.

Los casos no previstos

El teorema maestro no se puede utilizar si T (n) es una monótona, como pecado n. Tal función no experimenta el crecimiento, por lo que se llama un tono monótono. f (n) debe ser un polinomio, un 2x tales ^ 3 + 3x + 4, a diferencia de funciones como 2 ^ n. B debe ser al menos 2, y debe haber al menos 1, y C debe ser positivo.

Ejemplo

T (n) = 8T (n / 2) + 1000 N ^ 2

T (n) = theta (n ^ (log_base_b a))

a = 8

b = 2

T (n) = theta (n ^ 3)

Esto nos dice que este algoritmo recursivo pertenece al tipo n ^ 3, y tendrá el mismo tiempo de ejecución como otros algoritmos de esa categoría.