Pregunta 2.d - Análisis de complejidad y eficienc… · Prácticas de programación UOC 2023
Tema: Análisis de complejidad y eficiencia · Del examen Examen Prueba de síntesis enero 2023 (2023)
Enunciado
A partir del siguiente algoritmo codificado en C:
#define MAX 128
int mystery(int v[MAX], int x)
{
int res;
assert(x >= 0 && x < MAX);
if (x == 0) {
if ((v[0] % 2) != 0)
res = v[0];
else
res = 0;
} else {
if ((v[x] % 2) != 0)
res = v[x] + mystery(v, x - 1);
else
res = mystery(v, x - 1);
}
return res;
}
d)
[15%] Obtén la complejidad computacional en notación asintótica de la versión recursiva en el peor de los casos, resolviendo la relación de recurrencia paso a paso.

Solución
Según los criterios oficiales de corrección
Resolución de la relación de recurrencia paso a paso.
Solución: En cada nivel de recursión el índice disminuye en una unidad, realizándose un número constante de operaciones elementales. En el peor caso (todos los valores son impares), la función de coste temporal cumple: Desplegando la recurrencia tras sustituciones: El caso base se alcanza cuando :
Obtén la complejidad computacional en notación asintótica de la versión recursiva en el peor de los casos.
Solución:
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.
‹ Pregunta 2.d · 2023 · Pregunta 2.d · 2023 ›