C# LanguageRécursivité


Remarques

Notez que l'utilisation de la récursivité peut avoir un impact important sur votre code, car chaque appel de fonction récursif sera ajouté à la pile. S'il y a trop d'appels, cela pourrait entraîner une exception StackOverflow . La plupart des "fonctions récursives naturelles" peuvent être écrites comme une construction en boucle for , while ou foreach , et bien que ne semblant pas si chic ou intelligent, elles seront plus efficaces.

Pensez toujours à deux fois et utilisez la récursivité avec soin - sachez pourquoi vous l'utilisez:

  • la récursivité doit être utilisée lorsque vous savez que le nombre d'appels récursifs n'est pas excessif
    • des moyens excessifs , cela dépend de la quantité de mémoire disponible
  • la récursivité est utilisée car il s'agit d'une version de code plus claire et plus propre, plus lisible qu'une fonction itérative ou basée sur une boucle. C'est souvent le cas parce que cela donne un code plus propre et plus compact (autrement dit moins de lignes de code).
    • mais soyez conscient, cela peut être moins efficace! Par exemple, dans la récursion de Fibonacci, pour calculer le nième numéro de la séquence, le temps de calcul augmentera de manière exponentielle!

Si vous voulez plus de théorie, veuillez lire:

Récursivité Exemples Liés