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.