Junior
¿Qué es el comportamiento recursivo?
sobes.tech AI
Respuesta de la IA
La ejecución de código o funciones que se llaman a sí mismas.
Elementos principales:
- Caso base: La condición en la que la recursión se detiene. Sin ella, la recursión sería infinita.
- Caso recursivo: La parte de la función donde se llama a sí misma, generalmente con un argumento modificado.
Ejemplo (cálculo del factorial):
func factorial(_ n: Int) -> Int {
// Caso base
if n <= 1 {
return 1
}
// Caso recursivo
return n * factorial(n - 1)
}
// Ejemplo de llamada
let result = factorial(5) // 120
Ventajas:
- Solución elegante para problemas con estructura auto similar (por ejemplo, recorrer árboles).
- Código más legible en algunos casos.
Desventajas:
- Puede consumir mucha memoria (pila de llamadas).
- Posible desbordamiento de pila en recursiones muy profundas.
- A veces menos eficiente que soluciones iterativas.