Différence clé: en programmation, la récursivité peut être expliquée en considérant une fonction récursive. Une fonction récursive est une fonction qui se rappelle pour répéter le code. D'autre part, l'itération est réalisée par une fonction itérative qui boucle pour répéter une partie du code.
En programmation, la récursivité et l'itération sont toutes deux utilisées pour réaliser des répétitions. Ils font référence à un processus répété plusieurs fois. La récursivité est basée sur une approche dans laquelle quelque chose se réfère à lui-même jusqu'à ce qu'une condition soit remplie. Une méthode est dite récursive si elle peut s'appeler directement ou indirectement comme
{
... prénom() ...
}
ou
nom vide ()
{
... Jeu() ...
}
void game () {
... prénom() ...
}
Pour une récursivité réussie, il faut garder à l'esprit que chaque appel effectué dans le processus de récursivité doit simplifier le calcul. La récursivité est obtenue en définissant un cas de base.
int factoriel (int N)
{
si (N == 0) retourne 1;
sinon return (N * factoriel (N-1));
}
Dans cet exemple, la récursivité est facilement visible dans l'instruction (N * factorielle (N-1)), où elle appelle à nouveau la fonction factorielle. La récursivité est très utile car elle aide à raccourcir le code. Cependant, la récursivité est un peu lente dans les performances.
fonction factorielle (n)
{
boucle var, resultat;
résultat = 1;
pour (boucle = 1; boucle <= n; boucle ++)
{
result = result * loop;
}
retourne le résultat;
}
Dans cet exemple, la mise en boucle est réalisée à l'aide d'entiers de 1 à n, et l'instruction loop <= n est utilisée comme critère pour arrêter toute mise en boucle. Ainsi, nous pouvons conclure que les mêmes résultats peuvent être obtenus en utilisant une récursion et une itération. Cependant, ils reposent tous deux sur des approches légèrement différentes. Tout algorithme récursif peut également être écrit en utilisant des itérations (boucles).
Comparaison entre la récursivité et l'itération:
Récursion | Itération | |
Définition | La récursivité fait référence à une fonction récursive dans laquelle il s’appelle à nouveau pour répéter le code. | L'itération est réalisée par une fonction itérative qui boucle pour répéter une partie du code. |
Point important | Un cas de base doit être déterminé | Une condition de résiliation doit être déterminée |
Performance | Comparativement lente | Relativement rapide |
Utilisation de la mémoire | Comparativement plus | Comparativement moins |
Code | Plus petite | Plus long |
Répétition infinie | La récursion infinie est capable de planter le système | La boucle infinie consomme des cycles du processeur à plusieurs reprises |
Structure | Sélection | Répétition |
Variables locales | Non requis | Champs obligatoires |