La récursion est le processus qu’une procédure suit lorsqu’une des étapes de la procédure implique d’invoquer la procédure elle-même (Wikipedia)
$n!$ et $(n-1)!$ sont liés par une formule simple
C’est une définition récursive de la fonction factorielle
Le cas de base – Cette condition(s) qui termine la récursion
L’appel récursif – C’est lorsque la fonction s’appelle elle-même
def factorial (n: int): # Base case, the recursion ends here if n <= 1: return 1 # Recursive call, the function calls itself return factorial(n-1) * n
Important — Assurez-vous que le cas de base est atteignable, sinon la fonction tournera indéfiniment
Chaque fois qu’une fonction est appelée, une nouvelle frame est ajoutée à la pile d’appels
La frame contient les arguments et les variables locales de la fonction
Quand la fonction retourne, la frame est retirée de la pile
La récursion est le processus qu’une procédure suit lorsqu’une des étapes de la procédure implique d’invoquer la procédure elle-même
Cas de base :
Appel récursif :