Permutation en Java expliquée [avec des exemples de codage]
Publié: 2020-11-24JAVA a été développé par James Gosling chez Sun Microsystems en 1995. En utilisant JAVA, les développeurs peuvent créer des applications stables, sécurisées et résilientes capables de s'exécuter sur presque toutes les plates-formes, y compris les systèmes d'exploitation basés sur Linux, Windows et macOS.
La propriété Write Once, Run Always de JAVA (également connue sous le nom de WORA) évite également d'avoir à recompiler du code qui a déjà été compilé de manière satisfaisante une fois. Cette polyvalence de JAVA en fait un langage idéal pour intégrer des fonctionnalités logiques et mathématiques complexes intégrées dans presque tous les types d'applications multiplateformes.
Les avantages de l'utilisation de JAVA pour développer des applications Web, par opposition à tout autre environnement de développement Web alternatif (ou populaire), s'étendent à trois principaux piliers des avantages durables des applications, à savoir :
- La syntaxe JAVA est facile à apprendre et à adapter, et convient aux codeurs à tous les niveaux de rythme et de complexité. Cela fait de JAVA une valeur sûre pour les équipes de développement soumises à de fréquents changements de personnel. Le temps nécessaire à une nouvelle ressource pour s'aligner sur la plate-forme de développement commune (JAVA) est l'un des plus courts de l'industrie.
- JAVA est un langage de programmation orienté objet de haut niveau, ce qui en fait une approche complètement modulaire et donne aux développeurs la possibilité de créer des morceaux de code fonctionnellement réutilisables, réduisant ainsi les efforts. Une vaste bibliothèque de fonctions intégrées réduit également les dépendances vis-à-vis d'autres plugins tertiaires ou add-ons de compilateur, scripts, etc., ce qui donne à JAVA l'un des temps de mise en œuvre les plus courts.
- JAVA allie le meilleur de tous les mondes en étant indépendant de la plate-forme, comme indiqué ci-dessus. Une application Web développée en JAVA peut être facilement déplacée d'un système d'exploitation à un autre sans perte de fonctionnalité, et c'est un utilitaire inestimable à posséder dans n'importe quel environnement de développement.
Comme l'un des aspects qui rend JAVA si lucratif en tant que plate-forme de développement pour le Web, ses dépendances d'implémentation minimales et sa syntaxe mathématiquement saine peuvent être généreusement exploitées pour exécuter presque toutes les instructions mathématiques ou logiques en invoquant simplement une fonction intégrée, avec un minimum d'informations supplémentaires. personnalisation.
L'un des exemples les plus brillants de cette flexibilité dans le code est la possibilité d'effectuer des permutations dans JAVA - plus précisément, de vraiment randomiser et de trouver toutes les permutations possibles de tous les caractères disponibles dans une chaîne particulière.
Dans ce didacticiel guidé, nous apprendrons comment tenter d'effectuer cette permutation en JAVA en stockant le premier caractère de la chaîne dans un emplacement "suivi" de la chaîne et en appelant la fonction generatePermutation () pour randomiser différentes variations avec toutes les autres . caractères dans la chaîne.

Lire: Questions et réponses d'entrevue Java
Table des matières
Permutation en Java - le concept de l'algorithme de retour en arrière
Pour trouver une solution à ce problème de permutation en JAVA , il faut d'abord se familiariser avec un concept devenu largement accepté au sein de la communauté du développement web, comme l' algorithme de L' algorithme de retour en arrière est un processus récursif qui dépend de la fixation périodique d'un caractère d'une chaîne donnée et de sa combinaison avec toutes les permutations possibles de tous les autres caractères, et de la répétition de ce processus avec des caractères dans chaque position de la chaîne individuellement, pour arriver au maximum (et tout le nombre possible) de variations pour cette chaîne.
Cet algorithme de permutation en JAVA est plus facile à comprendre dans le contexte d'une chaîne donnée à trois caractères. Disons que ces trois caractères dans une chaîne donnée sont A, B et C.
La première étape pour effectuer cette permutation en JAVA est de commencer par fixer un caractère (on commencera toujours par fixer le caractère disponible en première position), puis d'effectuer un échange avec tous les caractères restants, en les combinant avec l'original ( caractère fixe).
Par exemple, dans l'exemple de chaîne ABC, nous allons effectuer nos trois premières itérations de chaîne en fixant le caractère A (qui est le On arrive alors aux combinaisons suivantes : ABC , BAC et CBA .
L'étape suivante consiste à " fixer " de la même manière le caractère trouvé à la position suivante de la chaîne (dans ce cas, le caractère trouvé à la deuxième position de la chaîne, à savoir B ) et à échanger les caractères restants (y compris le caractère qui a été Finalement, nous continuerons à répéter cette étape avec chaque niveau de randomisation atteint, jusqu'à ce que nous arrivions à un ensemble complet de toutes les permutations possibles :

abc
PBR
BAC
ACC
ABC
TAXI
Dans la section exemple de code/sortie souhaitée disponible à la fin de cet article, nous transformerons cette tentative de permutation en JAVA en code lisible et verrons ainsi les permutations être calculées en temps réel.
Effectuer une permutation en JAVA - l'algorithme récursif pour revenir en arrière et échanger
Un résumé succinct du processus pour prendre une chaîne aléatoire et effectuer une permutation approfondie en JAVA, peut être décrit avec l'algorithme récursif étape par étape suivant :
- Définition de chaîne - Tout d'abord, définissez une chaîne. Vous pouvez toujours choisir d'accepter une chaîne aléatoire comme variable d'entrée, mais pour plus de clarté, nous utiliserons la chaîne prédéfinie ABC dans cet exemple.
- Correction de personnage – Corrigez un personnage (commencez par le personnage en première position et continuez à l'échanger contre tous les personnages restants).
- generatePermutation() – Appelez et utilisez la sortie de la fonction generatePermutation(), pour tous les caractères restants.
- Retour en arrière récursif - Effectuez l'algorithme de «retour en arrière» et continuez à échanger les caractères de manière récursive jusqu'à ce que votre code atteigne la fin de la chaîne (dans notre exemple actuel, jusqu'à C).
Exécution d'une permutation en JAVA — Exemple de code :
public class PermuteString {
//définir une fonction pour échanger les caractères à la position i avec tous les caractères à la position j
public static String swapString(String a, int i, int j) {
// définitions de caractères pour les caractères fixes dans la chaîne
char[] b =a.toCharArray();
caractère ch ;
// exécution du swap à l'étape suivante
ch = b[i] ;
b[i] = b[j] ;
b[j] = ch ;
return String.valueOf(b);
}public static void main(String[] args)
{
//définition de la chaîne par défaut ABC
Chaîne str = "ABC" ;
//comptage de la longueur de la chaîne
int len = str.length();
//impression de toutes les randomisations
System.out.println("Voici toutes les permutations possibles de la chaîne ABC : ");
generatePermutation(str, 0, len);
}
//définir une fonction pour générer toutes les permutations possibles de la chaîne
public static void generatePermutation(String str, int start, int end)
{
// impression de toutes les permutations
si (début == fin-1)
System.out.println(str);
autre
{
pour (int i = début ; i < fin ; i++)
{
//fixation d'un caractère pour échanger la chaîne
str = swapString(str,start,i);
//appel de la fonction generatePermutation() de manière récursive pour tous les caractères restants generatePermutation(str,start+1,end);
// exécution d'un algorithme de retour en arrière pour échanger à nouveau les caractères
str = swapString(str,start,i);
}
}
}
}
Exécution d'une permutation en JAVA — Sortie dérivée de l'exemple de code :
Lorsque vous compilez et exécutez cet exemple, la sortie souhaitée devrait ressembler à ceci :
Voici toutes les permutations possibles de la chaîne ABC :
abc
PBR
BAC
ACC

ABC
TAXI
Doit lire: Projets et sujets Java intéressants
Conclusion
Nous espérons que vous avez trouvé ce tutoriel pour effectuer une permutation en JAVA utile.
Si vous souhaitez en savoir plus sur Java, les OOP et le développement de logiciels à pile complète, consultez le diplôme PG upGrad & IIIT-B en développement de logiciels à pile complète qui est conçu pour les professionnels et offre plus de 500 heures de formation rigoureuse, 9 + projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.