27 votes

Exemples de fonctions récursives

Quelqu'un peut-il suggérer des exemples de programmation qui illustrent des fonctions récursives? Il y a les vieux chevaux habituels tels que la série Fibonacci et les tours de Hanoi , mais tout le reste serait amusant.

84voto

ConroyP Points 24021

Cette illustration est en anglais, plutôt qu'un véritable langage de programmation, mais est très utile pour expliquer le processus dans un non technique:

Un enfant ne peut pas dormir, alors sa mère lui a raconté une histoire au sujet d'une petite grenouille,
 qui ne pouvait pas dormir, de sorte que la grenouille de la mère a raconté une histoire au sujet d'un petit ours,
 qui ne pouvait pas dormir, donc de l'ours mère a raconté une histoire au sujet d'une petite belette
 ...qui s'est endormi.
 ...et le petit ours endormi;
 ...et la petite grenouille s'est endormi;
...et l'enfant s'est endormi.

12voto

Ilya Ryzhenkov Points 5731

Pour comprendre la récursivité , il faut d'abord comprendre la récursivité .

11voto

Martin Cote Points 12762

11voto

Kip Points 37013

Que diriez-vous de tester une chaîne pour être un palindrome?

 bool isPalindrome(char* s, int len)
{
  if(len < 2)
    return TRUE;
  else
    return s[0] == s[len-1] && isPalindrome(&s[1], len-2);
}
 

Bien sûr, vous pouvez le faire avec une boucle plus efficacement.

9voto

agnul Points 2828

Un autre couple de "suspects habituels" sont Quicksort et MergeSort

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X