Sobes.tech
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.