Fonctions récursives
DéfinitionFonction récursive = qui s'appelle elle-même.
RÈGLES OBLIGATOIRES :
1. Cas de BASE : condition d'arrêt (sans elle → récursion infinie)
2. Cas RÉCURSIF : appel avec paramètre STRICTEMENT plus petit
EXEMPLES CLASSIQUES :
# Factorielle
def fact(n):
if n == 0: return 1 # cas de base
return n * fact(n - 1) # cas récursif
# Fibonacci
def fib(n):
if n <= 1: return n # cas de base
return fib(n-1) + fib(n-2)
# PGCD (Euclide)
def pgcd(a, b):
if b == 0: return a # cas de base
return pgcd(b, a % b) # cas récursif
LIMITE Python : sys.getrecursionlimit() = 1000 par défaut⚡ Fibonacci récursif naïf est O(2ⁿ) car il recalcule les mêmes valeurs. Utiliser la mémoïsation (@functools.lru_cache) ou la version itérative pour les grands n.