Djamal Rebaïne 1Djamal Rebaïne 1
La récursivité
Une procédure est dite
récursive si, et seulement si,
elle fait appel à elle-même, soit
directement soit indirectement
Djamal Rebaïne 2
Djamal Rebaïne 3
-(vision itérative) Un escalier de hauteur h c’est :
une séquence de h marches
-(vision récursive) Un escalier de hauteur h c’est :
une marche suivie d’un escalier de hauteur h − 1
Un exemple
Version itérative :
static void monter_escalier( int h )
{
for (int i = 1; i <= h; i++)
monter_marche();
}
Version récursive :
void monter_escalier( int h )
{if (h > 0)
monter_marche();
monter_escalier( h-1 );
}
Djamal Rebaïne 4
Djamal Rebaïne 5
Récursivité en action
• Que fait l’appel monter escalier( 3 ) ?
monter_escalier( 3 )
=
monter_marche();
monter_escalier( 2 );
=
monter_marche();
monter_marche();
monter_escalier( 1 );
=
monter_marche();
monter_marche();
monter_marche();
• Même effet que la version itérative, c’est-à-dire 3
appels à monter marche()
1 / 47 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !