Différence entre récursivité et itération

La récursivité et l’itération exécutent plusieurs fois un ensemble d’instructions. La récursivité se produit lorsqu’une instruction dans une fonction s’appelle elle-même plusieurs fois. L’itération est quand une boucle s’exécute de façon répétée jusqu’à ce que la condition de contrôle devienne fausse. La principale différence entre récursion et itération est que la récursivité est un processus, toujours appliqué à une fonction. L’itération est appliquée à l’ensemble des instructions que nous voulons exécuter de façon répétitive.
QCM-CQCM en programmation C – Les noms de variables – Partie 1QCM sur C avec des réponses pour la préparation des entretiens, des tests en ligne, des examens etc.     1. La norme C99 garantit…Lire plus  

Table de comparaison
Récursivité Itération
Signification La fonction appelle elle-même. Permet d’exécuter plusieurs fois l’ensemble des instructions.
Format Dans une fonction récursive, seule la condition de terminaison est spécifiée. L’itération comprend l’initialisation, la condition, l’exécution de l’instruction dans une boucle et la mise à jour (incrémenter et décrémenter) la variable de contrôle.
Terminaison Une instruction conditionnelle est incluse dans le corps de la fonction pour forcer la fonction à retourner sans que l’appel de récurrence soit exécuté. L’instruction d’itération est exécutée plusieurs fois jusqu’à ce qu’une certaine condition soit atteinte.
Condition Si la fonction ne converge pas vers une condition appelée (cas de base), elle conduit à une récursion infinie. Si la condition de contrôle dans l’instruction d’itération ne devient jamais fausse, elle conduit à une itération infinie.
Répétition infinie Une récursion infinie peut bloquer le système. Une boucle infinie utilise les cycles du processeur de manière répétée.
Application La récursivité est toujours appliquée aux fonctions. L’itération est appliquée aux instructions d’itération « ex : des boucles ».
Pile La pile est utilisée pour stocker l’ensemble des nouvelles variables et paramètres locaux chaque fois que la fonction est appelée. N’utilise pas la pile.
La vitesse Lent Rapide
Taille du code La récursivité réduit la taille du code. L’itération rend le code plus long.
Différence entre i++ et ++iDifférence entre i++ et ++ii++ est appelé post-incrémentation alors que ++i est appelée pré-incrémentation.     i++ affecte puis incrémente la valeur. Dans l’exemple ci-dessous, i++ incrémentera la valeur…Lire plus
Programme factoriel en utilisant la récursivité
int calfactorial(int n)
{
   /* Condition de base */
   if(n==1)
      return 1;
   else
   /* Appel récursif */
   return (n * calfactorial(n-1) );
}

 

Programme factoriel en utilisant la méthode itérative
int calfactorial (int n)
{
   int fac = 1;

   for (int i = 2; i <= n; i++){
      fac = fac * i;
   }

   return fac;
}
QCM AlgorithmesQCM Algorithmes – Notions de base – Partie 1Questions pratiques pour testez vos connaissances en algorithmiques.   1. Qu’est-ce qu’un algorithme? A Un organigramme B Un organigramme ou un pseudocode C Une décision…Lire plus

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *