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));
Exécution des résultats de sortie :
Connexe recommandations :
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!