Sobes.tech
Intern

¿Qué es la recursión?

sobes.tech AI

Respuesta de la IA

Función que se llama a sí misma.

Se aplica para resolver problemas que pueden dividirse en subproblemas con la misma estructura que el problema original. Es obligatorio tener una condición de salida (caso base) para evitar un ciclo infinito.

Ejemplo de cálculo del factorial:

<?php
function factorial(int $n): int
{
    // Caso base
    if ($n <= 1) {
        return 1;
    }
    // Llamada recursiva
    return $n * factorial($n - 1);
}

echo factorial(5); // Imprime 120
?>

Ventajas:

  • Elegancia y concisión del código para ciertos problemas.

Desventajas:

  • Puede llevar a desbordamiento de pila con niveles de recursión muy profundos.
  • Potencialmente menos eficiente que soluciones iterativas para los mismos problemas debido a los costos adicionales de las llamadas a funciones.

Se usa frecuentemente para recorrer árboles, sistemas de archivos, resolver problemas combinatorios.