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

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

nom vide ()

{

... 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.

L'itération est basée sur les boucles. Ces boucles font référence à des processus d'itération explicites. Pour satisfaire à l'exigence d'une boucle, il doit avoir un type de critère qui arrête l'itération ultérieure. Cependant, si le test de condition de boucle ne devient jamais faux, alors dans cette condition, l'occurrence d'une boucle infinie est inévitable. Dans cet exemple, la factorielle est déterminée en utilisant le processus d'itération -

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

Recommandé

Articles Connexes

  • différence entre: Différence entre café et cappuccino

    Différence entre café et cappuccino

    Différence clé: le café est en réalité une boisson préparée à partir des grains de café, obtenus de l’usine Coffea. Le cappuccino est une boisson préparée avec le liquide préparé à partir de grains de café avec du lait et de la mousse de lait. Le café et le cappuccino ne sont pas si différents après tout, car le cappuccino est tout simplement un type de café. Un tableau de café
  • différence entre: Différence entre sociopathe et psychopathe

    Différence entre sociopathe et psychopathe

    Différence clé: sociopathe et psychopathe sont deux termes souvent utilisés pour décrire les personnes atteintes d'un trouble de la personnalité antisocial. La plupart des psychologues évitent d'utiliser les termes sociopathe ou psychopathe. Cependant, les termes se sont développés pour prendre certains contextes et ont évolué pour définir une personne qui décrit certains comportements spécialisés. Sociopathe e
  • différence entre: Différence entre le rhum et le brandy

    Différence entre le rhum et le brandy

    Principale différence: les rhums sont des boissons alcoolisées distillées à base de sous-produits de la canne à sucre, tels que le jus de mélasse ou de canne à sucre. Semblables à la plupart des boissons alcoolisées, les rhums doivent subir un processus de distillation, de fermentation et de vieillissement. Le bran
  • différence entre: Différence entre le fructose et le sucre

    Différence entre le fructose et le sucre

    Principale différence: le fructose est également appelé sucre de fruits, car il se produit naturellement et se trouve le plus souvent dans les fruits et les plantes. Avec le glucose et le galactose, il peut être directement absorbé dans le sang pendant la digestion. Le sucre de table, également appelé saccharose, est un type de disaccharides. En ta
  • différence entre: Différence entre souris optique et souris laser

    Différence entre souris optique et souris laser

    Différence clé: la souris optique utilise une diode électroluminescente, tandis qu'une souris laser utilise un laser pour détecter les mouvements. Une souris est un matériel nécessaire pour naviguer sur un ordinateur de bureau. Cependant, de nos jours, de nombreuses personnes utilisent également une souris sur leur ordinateur portable, car cela facilite la navigation. Une s
  • différence entre: Différence entre le cautionnement et la libération conditionnelle

    Différence entre le cautionnement et la libération conditionnelle

    Principale différence: le terme caution signifie que le gouvernement doit verser une certaine somme au gouvernement en échange de sa liberté avant la date du procès. Une libération conditionnelle est vraiment différente d'une libération sous caution. Une libération conditionnelle survient après que l'accusé a été condamné et condamné à une peine d'emprisonnement. Une libératio
  • différence entre: Différence entre Sony Xperia E et XOLO Q800

    Différence entre Sony Xperia E et XOLO Q800

    Principale différence: les Sony Xperia E et E-Dual sont deux téléphones d'entrée de gamme de Sony Mobile. Le téléphone est livré avec un capacitif 3, 5 TFT qui a une densité de pixels d’environ 165 ppp. Il est livré avec un processeur Snapdragon Qualcomm 1 GHz Cortex-A5, un processeur graphique Adreno 200 et 512 Mo de RAM. Le Xolo Q
  • différence entre: Différence entre Sony Xperia E et Samsung Galaxy S Duos

    Différence entre Sony Xperia E et Samsung Galaxy S Duos

    Principale différence: les Sony Xperia E et E-Dual sont deux téléphones d'entrée de gamme de Sony Mobile. Le téléphone est livré avec un capacitif 3, 5 TFT qui a une densité de pixels d’environ 165 ppp. Il est livré avec un processeur Snapdragon Qualcomm 1 GHz Cortex-A5, un processeur graphique Adreno 200 et 512 Mo de RAM. Samsung G
  • différence entre: Différence entre une naissance unique et des naissances multiples

    Différence entre une naissance unique et des naissances multiples

    Différence clé: une seule naissance est le moment où une femme conçoit un foetus au cours d'une grossesse. Les naissances multiples se produisent lorsqu'une femme conçoit plus d'un fœtus au cours d'une grossesse. Quand une femme tombe enceinte, elle a toujours des chances d'avoir plusieurs enfants au cours de la même grossesse. plus

Choix De L'Éditeur

Différence entre le Kung Fu et le Taekwondo

Principale différence: le kung-fu est une forme d'art martial originaire de Chine, alors que le taekwondo est une forme d'art martial coréen. Le kung-fu se rapporte à toute forme d'art martial appartenant à la Chine. La forme d'art a été créée au temple Shaolin en Chine au 4ème siècle. Il a été