Récursivité
Lycée Berthollet, MP/MP* 2016-17
I Structures récursives
Définition 1 Une structure est dite récursive lorsque la description de cette structure fait réfé-
rence à la structure elle-même.
Exemple 2 En calcul des propositions (logique), on dit qu’une expression est une proposition
si :
— soit c’est une variable logique (A,B...) ;
— soit elle est du type non(P), où Pest une proposition ;
— soit elle est du type (Pet Q),(Pou Q)ou (P=⇒Q), où Pest Qsont deux propositions.
Exemple 3 Les fractals sont des objets mathématiques “autosimilaires” qui peuvent être décrit
de manière récursive. Voir un exemple dans la suite.
Exemple 4 La notion de “mise en abyme” en littérature ou au cinéma est une sorte de récursi-
vité. Voir par exemple la publicité de la “vache-qui-rit”.
Enfin, ce qui nous préoccupe ici est la notion d’algorithme récursif :
Définition 5 Dans un langage informatique, une fonction est dite récursive, si elle s’appelle
elle-même soit directement, soit par le biais d’une autre fonction.
Beaucoup de langages modernes permettent de gérer les fonctions récursives. C’est le cas
du langage Python. Cette gestion nécessite de gérer les paramètres, variables locales et points
de retour de chaque appel de la fonction dans une ou plusieurs piles, comme nous le verrons
dans un exemple simple. Voici un exemple de fonction récursive en pseudo-code, qui calcule le
n-ième terme de la suite (un)n∈Ndéfinie par u0=0 et la relation un+1=√1+un:
fonction u(n):
si n==0, retourner 0
sinon, retourner sqrt(1+u(n-1))
1