Qu'est-ce qu'une récursion de queue?

La récursion de queue est un type d'appel de méthode de programmation lorsqu'une méthode s'appelle elle-même, puis renvoie immédiatement la valeur de ce second appel. En d'autres termes, la récursion de la queue se produit lorsque la déclaration finale à l'intérieur d'une méthode est un autre appel à cette même méthode. Les paramètres du second appel de méthode sont généralement différents de ceux du premier, mais ce n'est pas obligatoire. Pour que cette récursion fonctionne, la méthode appelée en elle-même doit renvoyer une valeur concrète, telle qu'un nombre, une chaîne ou un autre objet. Les méthodes void, qui ne renvoient pas de valeur, ne fonctionnent pas bien pour la récursivité.

L'exigence qu'un appel récursif soit la dernière instruction de sa méthode appelante ne signifie pas nécessairement que l'appel récursif est la dernière ligne de la méthode. Un appel de récursion approprié peut également être trouvé dans une structure de contrôle, ce qui signifie que, dans le code source, la structure de contrôle peut mettre fin à la méthode plutôt qu'à l'appel. La distinction importante dans ce cas est qu'une structure de contrôle n'est pas une déclaration de programmation, mais une partie intégrée du langage informatique.

La récursion de queue existe dans de nombreux langages informatiques, y compris Java et C ++. Fréquemment, ces appels récursifs peuvent être réécrits par d'autres moyens, tels que des boucles for, des boucles while ou des instructions goto. L'utilité de la récursivité est trouvée lors de la création de nombreux appels séquentiels à la même méthode. La récursivité est souvent le moyen le plus propre et le plus simple d'accomplir des tâches répétitives.

Un exemple courant de récursion de queue est une méthode qui calcule la factorielle d’un nombre. Ce processus est idéal car, à partir de n'importe quel nombre, chaque nombre avant qu'il ne soit multiplié ensemble. Ainsi, pour trouver la factorielle de 5, le processus approprié consiste à multiplier 5 * 4 * 3 * 2 * 1. La récursion intervient à cause de la structure de la méthode factorielle: si la factorielle est 1, retourne 1, sinon renvoie la factorielle du nombre donné à la méthode moins un. Cette méthode est également utile car elle peut être écrite de manière équivalente en utilisant l'un ou l'autre type de récursion de queue, avec ou sans instruction de contrôle autour d'un appel de méthode final.

La récursion de la queue n'est qu'un exemple des multiples types de récursivité. Le concept de tous les types de récursions est essentiellement le même, qu’une méthode s’appelle elle-même. Parmi ces types, la particularité de la récursion finale est que la valeur d'un appel récursif est immédiatement renvoyée et que rien d'autre ne se produit dans la méthode d'appel après cet appel.

DANS D'AUTRES LANGUES

Cet article vous a‑t‑il été utile ? Merci pour les commentaires Merci pour les commentaires

Comment pouvons nous aider? Comment pouvons nous aider?