Se nos da la expresión [matemáticas] T (n) = 2T (n-3) [/ matemáticas]
Llamar a la función de forma recursiva: –
[matemáticas] T (n) = 2 (2 (Tn-6)) = 2 ^ 2T (n-3 * 2) [/ matemáticas]
- ¿Qué es una explicación intuitiva de los algoritmos de gradiente proximal?
- Cómo escribir un programa para implementar la búsqueda binaria
- ¿Qué es un algoritmo eficiente para encontrar un circuito euleriano en un gráfico no dirigido?
- ¿Cuál es el número total de comparaciones en un tipo de burbuja?
- ¿Hay algún modelo físico o fenómeno que permita resolver rápidamente los problemas NP-hard?
[matemáticas] T (n) = 2 ^ 2 (2T (n-3 * 3) = 2 ^ 3T (n-3 * 3) [/ matemáticas]
[matemáticas] T (n) = 2 ^ 3 (T (n-3 * 4) = 2 ^ 4T (n-3 * 4) [/ matemáticas]
[matemáticas]. [/ matemáticas]
.
.
[matemáticas] T (n) = 2 ^ kT (n-3 * k) ……. {llamando a la función k veces}… .. (1) [/ matemáticas]
Nota: Seguiremos llamando a la función de forma recursiva hasta que obtengamos T (1).
[matemáticas] es decir, n – 3 * k = 1 [/ matemáticas]
[matemáticas] n-1 = 3 * k [/ matemáticas]
[matemáticas] k = (n-1) / 3 [/ matemáticas]
Llamando a la función (n-1) / 3 veces obtenemos
T (n) = 2 ^ ((n-1) / 3) T (n- 3 * (n-1) / 3)… {Dado que hemos llamado a la función (n-1) / 3 veces, por lo tanto, poniendo k = (n-1) / 3 en la ecuación (1)}
T (n) = 2 ^ ((n-1) / 3) * T (1)
T (n) = 2 ^ ((n-1) / 3) * 1 …… .. {T (1) = 1}
T (n) = 2 ^ (n / 3) * 2 ^ (- 1/3)
T (n) = 2 ^ (n / 3) ……… .. {Ignorando la constante,}
T (n) = O (2 ^ (n / 3))
Por lo tanto, la complejidad temporal de la función anterior es O (2 ^ (n / 3))
es decir, tiene una complejidad de tiempo exponencial. [matemáticas] [/ matemáticas]