Maison >Java >Javacommencer >Qu'est-ce que la récursivité en Java
Qu'est-ce que la récursion
La récursion est largement utilisée dans les langages de programmation en tant qu'algorithme. Elle fait référence à la réentrance directe ou provoquée par l'appel indirect.
Les algorithmes récursifs sont généralement utilisés pour résoudre trois types de problèmes :
a La définition des données est définie de manière récursive. (Fonction Fibonacci (Fibonacci))
b. La solution du problème est implémentée par un algorithme récursif. (Retour arrière)
c. La forme structurelle des données est définie de manière récursive. (Parcours d'arbres, recherche de graphiques)
Partage de didacticiels vidéo d'apprentissage : Vidéo d'enseignement Java
Exemple :
Ceci est un exemple d'arrangement, qu'est-ce que c'est ce que fait est de trier tous les éléments d'une chaîne d'entrée et de sortie
Par exemple : si le paramètre que vous donnez est "abc", le programme affichera : abc acb bac bca cab cba a
La sortie de l'algorithme est : low=high, c'est-à-dire lorsqu'il n'y a qu'un seul élément d'arrangement donné maintenant.
Le processus d'approximation de l'algorithme : déterminez d'abord le premier élément de l'arrangement, qui est l'élément représenté par i dans la boucle, puis low + 1 commence à réduire les éléments de l'arrangement, et ainsi de suite, jusqu'à ce que faible = élevé Les exemples sont les suivants :
public class Foo { public static void main(String[] args) { permute(“abc”); } public static void permute(String str) { char[] strArray = str.toCharArray(); permute(strArray, 0, strArray.length – 1); } public static void permute(char[] list, int low, int high) { int i; if (low == high) { String cout = “”; for (i = 0; i <= high; i++){ cout += list[i]; System.out.println(cout); } }else { for (i = low; i <= high; i++) { char temp = list[low]; list[low] = list[i]; list[i] = temp; permute(list, low + 1, high); temp = list[low]; list[low] = list[i]; list[i] = temp; } } } }
Articles et didacticiels connexes recommandés :
Introduction à la programmation JavaCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!