Cómo determinar la complejidad de esta recurrencia T (n) = 16 * T (n / 4) + n! usando el teorema maestro

T (n) = 16T (n / 4) + n!
Entonces a = 16, b = 4 yf (n) = n!

[matemáticas] \ log_b {a} [/ matemáticas] = [matemáticas] \ log_4 {16} [/ matemáticas] = 2

Entonces [matemáticas] n ^ {\ log_b {a}} [/ matemáticas] = [matemáticas] n ^ 2 [/ matemáticas]

Tercer caso del teorema maestro:
f (n) = [matemática] \ Omega (n ^ {\ log_b {a} + e}) [/ matemática] para alguna constante [matemática] \ epsilon [/ matemática]> 0.

y si af (n / b) <= cf (n) para alguna constante c <1 y todas suficientemente grandes n, entonces T (n) = [matemática] \ Theta [/ matemática] (f (n)) (condición de regularidad )

Por lo tanto n! = [matemáticas] \ Omega (n ^ {2 + \ epsilon}) [/ matemáticas]

Se podría demostrar que esto satisface algún valor de [math] \ epsilon [/ math]> 0 usando la aproximación de Stirling

Para la condición de regularidad,

16f (n / 4) <= cf (n)
es decir, 16 (n / 4)! <= cn!
¡Tome c = 0.5 y encontrará que la condición de regularidad satisface!

Por lo tanto, según el caso 3, T (n) = [matemáticas] \ Theta (n!) [/ ​​Matemáticas] 🙂

More Interesting

Cómo encontrar la solución más óptima para una pregunta en particular que se ha enviado en LeetCode

Cómo mejorar en algoritmos, estructuras de datos y programación competitiva, solo por puro aprendizaje, así como por ubicaciones en empresas de primer nivel, en un año

¿Cuál es la diferencia entre la descomposición de raíz cuadrada y el algoritmo de MO?

¿Qué tan importante es el DS y Algo?

Cómo mostrar el límite de (1 + a_n / n) ^ n = e ^ a si el límite de a_n = a cuando n se aproxima al infinito

¿En qué se diferencia la programación dinámica del seguimiento hacia atrás?

¿Cómo podemos usar caché (s) para la optimización de la multiplicación de matrices?

¿Dónde se puede encontrar una implementación de árbol de sufijos de la subcadena común más larga?

¿Cuál es la técnica para crear una solución DP iterativa a partir de su solución recursiva?

¿Cuál de estos me dará la mejor oportunidad para usar los algoritmos y las estructuras de datos que se enseñan en el desarrollo web de la escuela o el desarrollo móvil?

¿Cuál es la mejor manera de estudiar la estructura de datos de árbol?

¿Cuál es la diferencia entre las estructuras de datos de std :: vector y std :: deque?

¿Cómo se puede observar fácilmente que la complejidad temporal del código escrito es exponencial?

¿Cuál es la intuición detrás del algoritmo de clasificación rápida de múltiples claves?

¿Existen campamentos de programación a tiempo completo en Europa para mejorar la programación o las estructuras de datos y habilidades de algoritmos?