Skip to main content

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

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

L'obligation qu'un appel récursif doit être la dernière déclaration de sa méthode d'appel ne signifie pas nécessairement que l'appel récursif est la dernière ligne de la méthode.Un appel de récursivité de queue approprié peut également être trouvé à l'intérieur d'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écursivité de la queue existe dans de nombreux langages informatiques, y compris Java et C ++.Souvent, ces appels récursifs peuvent être réécrits à l'aide d'autres moyens, comme pour les boucles, pendant que les boucles ou les instructions GOTO.L'utilité de la récursivité est trouvée lors de la création de nombreux appels séquentiels vers 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écursivité de la queue est une méthode qui calcule le factoriel 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 le factoriel de 5, le processus approprié à faire serait de multiplier 5 * 4 * 3 * 2 * 1.La récursivité intervient en raison de la façon dont la méthode factorielle est structurée: si le factoriel est 1, retournez 1, sinon renvoyez le factoriel 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écursivité de queue, avec ou sans instruction de contrôle autour d'un appel final de méthode.

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