Maison > interface Web > js tutoriel > Méthode de mise en œuvre de l'algorithme de permutation et de combinaison complète JS

Méthode de mise en œuvre de l'algorithme de permutation et de combinaison complète JS

小云云
Libérer: 2018-01-27 11:20:00
original
6456 Les gens l'ont consulté

Algorithme complet de permutation et de combinaison, par exemple, si a, b, c, d sont entièrement permutés et combinés, le résultat de la combinaison est : a, b, ab, c, ac, bc, abc, d, ad, bd , abd, cd, acd, bcd, abcd. Idée d'implémentation : retirez un élément de la source de données, combinez-le tour à tour avec les données combinées existantes et bouclez les opérations ci-dessus jusqu'à ce qu'il n'y ait plus de données dans la source de données.

Cet article présente principalement l'algorithme de permutation et de combinaison complet implémenté par JS. Il décrit brièvement le principe de l'algorithme de permutation et de combinaison complète et donne les compétences spécifiques de mise en œuvre de l'algorithme de permutation et de combinaison complète dans le. sous forme d'exemples. Les amis qui en ont besoin peuvent le faire. Pour référence, j'espère que cela pourra aider tout le monde.

Exemple :

Source de données a, b, c

1 Retirez a, le groupe de données combiné est vide et insérez les données. source un élément Accédez au groupe de données combiné, à ce moment group=[a]
2 Retirez b, retirez a du groupe de données combiné, combinez a et b, obtenez ab, insérez l'élément de la source de données b. et ab dans le groupe de données combiné, à ce moment group=[a,b,ab]
3 Retirez c et combinez le groupe de données pour retirer a, b, ab, combinez-les avec c respectivement, obtenez ac. , bc, abc respectivement, placez les éléments c de la source de données, ac, bc et abc sont insérés dans le groupe de données combiné à ce moment, group=[a,b,ab,c,ac,bc,abc]

.

Code js :


var data = ['a','b','c','d'];
function getGroup(data, index = 0, group = []) {
  var need_apply = new Array();
  need_apply.push(data[index]);
  for(var i = 0; i < group.length; i++) {
    need_apply.push(group[i] + data[index]);
  }
  group.push.apply(group, need_apply);
  if(index + 1 >= data.length) return group;
  else return getGroup(data, index + 1, group);
}
console.log(getGroup(data));
Copier après la connexion

Exécution des résultats de sortie :

Connexe recommandations :

Codes JavaScript pour plusieurs algorithmes de permutation complète non récursifs Explication détaillée des exemples

exemple de code d'algorithme récursif de permutation complète php

Question amusante JavaScript : permutation complète pour supprimer les doublons

Ce 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal