La recusivité
La récursivité est un concept qui permet à une fonction ou à un algorithme de s’appeler elle-même de manière répétée jusqu’à ce qu’une condition de fin soit atteinte. Cela permet de résoudre des problèmes complexes en les décomposant en sous-problèmes plus simples qui peuvent être résolus de manière récursive.
Voici un exemple simple d’une fonction récursive qui calcule la somme des entiers jusqu’à un certain nombre donné :
def sum_ints(n):
if n == 1:
return 1
else:
return n + sum_ints(n-1)
La fonction sum_ints
commence par vérifier si n
est égal à 1. Si c’est le cas, elle renvoie simplement 1. Sinon, elle renvoie la valeur de n
plus la valeur renvoyée par l’appel récursif de la fonction sum_ints
avec n-1
en argument. Cette fonction s’appelle elle-même avec un argument de n-1
jusqu’à ce que n
soit égal à 1, auquel point elle arrête de s’appeler et renvoie simplement 1.
La récursivité peut être utilisée de manière très efficace pour résoudre de nombreux problèmes, mais il est important de veiller à ce qu’il y ait une condition de fin pour éviter une récursion infinie.