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.