Junior
¿En qué consiste la diferencia entre implementar la misma tarea usando recursión y un ciclo?
sobes.tech AI
Respuesta de la IA
La recursión utiliza la llamada a la misma función para resolver un problema, dividiéndolo en tareas más pequeñas hasta el caso base. Mientras que el ciclo repite un bloque de código un número determinado de veces o hasta que se cumpla una condición.
| Característica | Recursión | Ciclo |
|---|---|---|
| Ejecución | Llamada a la función | Iteración |
| Memoria | Usa la pila de llamadas | Usa variables de contador/condición |
| Legibilidad | Puede ser más conciso para algunas tareas | A menudo más directo |
| Rendimiento | Puede ser más lento debido a los costos de llamadas | Generalmente más eficiente |
| Desbordamiento de pila | Riesgo de desbordamiento en recursión profunda | No hay riesgo de desbordamiento de pila |
Ejemplo en C# (factorial):
Implementación recursiva:
// Cálculo recursivo del factorial
int FactorialRecursive(int n)
{
if (n == 0)
{
return 1; // Caso base
}
return n * FactorialRecursive(n - 1); // Llamada recursiva
}
Implementación con ciclo:
// Cálculo del factorial usando un ciclo
int FactorialIterative(int n)
{
int result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
return result;
}