Sobes.tech
Intern

Qu'est-ce que la récursion?

sobes.tech IA

Réponse de l'IA

Fonction qui s'appelle elle-même.

Utilisée pour résoudre des problèmes pouvant être décomposés en sous-problèmes ayant la même structure que le problème initial. Il doit y avoir une condition de sortie (cas de base) pour éviter une boucle infinie.

Exemple de calcul de la factorielle :

<?php
function factorial(int $n): int
{
    // Cas de base
    if ($n <= 1) {
        return 1;
    }
    // Appel récursif
    return $n * factorial($n - 1);
}

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

Avantages :

  • Élégance et concision du code pour certains problèmes.

Inconvénients :

  • Peut entraîner un dépassement de la pile avec des niveaux de récursion très profonds.
  • Potentiellement moins performant que des solutions itératives pour les mêmes problèmes en raison des coûts supplémentaires des appels de fonctions.

Souvent utilisé pour parcourir des arbres, des systèmes de fichiers, résoudre des problèmes combinatoires.