Qu’est-ce que la récursion Java ?
Le scénario dans lequel une fonction ou une méthode s'appelle elle-même est appelé récursion et une telle fonction ou méthode est appelée fonction récursive ou méthode récursive. Cette approche est toujours utilisée pour diviser des problèmes complexes en un problème simple et plus facile à écrire. Un exemple simple consiste à placer deux miroirs l’un devant l’autre et ils commenceront à se refléter de manière récursive, ce que vous pourrez voir facilement.Récursivité indirecte
L'exemple ci-dessus représente la récursivité indirecte , c'est-à-dire la fonction un appelant la fonction deux et la fonction deux appelant la fonction un.Récursion directe
Lorsqu'une méthode s'appelle encore et encore, on parle de récursivité directe .État d'arrêt
Maintenant, vous vous demanderez si une méthode s'appelle encore et encore, alors assurez-vous qu'elle sera confrontée à une erreur Stack Overflow . Oui, vous avez raison, comme une boucle infinie, elle peut se transformer en une récursion infinie. Nous devons fournir une condition de base ou une condition de terminaison afin d'arrêter cette récursivité infinie, appelée condition d'arrêt, et cette condition est toujours fournie à l'intérieur de la méthode recurse, que nous verrons en détail dans l'exemple ci-dessous.Exemple de récursion
class Recursion {
static int factorial( int n ) {
// base condition or termination condition
if (n != 0)
// here we are calling the recursive method
return n * factorial(n-1);
else
return 1;
}
public static void main(String[] args) {
// initializing the variables
int number = 5, result;
result = factorial(number);
System.out.println(number + " factorial = " + result);
// changing the value from 5 to 10
number = 10;
result = factorial(number); // recursive function call
System.out.println(number + " factorial = " + result);
}
}
Exemple de sortie
Factorielle 5 = 120 Factorielle 10 = 3628800
Dans cet exemple de méthode récursive, nous avons une fonction factorielle appelée depuis la méthode principale. Nous avons passé une valeur de 5 pour voir quelle est sa factorielle, qui est 120. Cette fonction factorielle s'appelle à nouveau en passant la valeur de 4, qui appelle et transmet à nouveau la valeur de 3, et ainsi de suite, jusqu'à ce que la condition d'arrêt soit rencontré, qui est la valeur de 0. La même chose se produit lorsque nous changeons la valeur de 5 à 10.
GO TO FULL VERSION