Vollständiger Permutations- und Kombinationsalgorithmus. Wenn beispielsweise a, b, c, d vollständig permutiert und kombiniert werden, lautet das Kombinationsergebnis: a, b, ab, c, ac, bc, abc, d, ad, bd , abd, cd, acd, bcd, abcd. Implementierungsidee: Nehmen Sie ein Element aus der Datenquelle heraus, kombinieren Sie es nacheinander mit den vorhandenen kombinierten Daten und führen Sie die oben genannten Vorgänge in einer Schleife aus, bis in der Datenquelle keine Daten mehr vorhanden sind.
In diesem Artikel wird hauptsächlich der von JS implementierte vollständige Permutations- und Kombinationsalgorithmus vorgestellt. Er beschreibt kurz das Prinzip des vollständigen Permutations- und Kombinationsalgorithmus und gibt die spezifischen Implementierungsfähigkeiten des vollständigen Permutations- und Kombinationsalgorithmus an Form von Beispielen. Freunde, die es brauchen, können es als Referenz verwenden. Ich hoffe, es kann jedem helfen.
Beispiel:
Datenquellen a, b, c
1 Nehmen Sie a heraus, die kombinierte Datengruppe ist leer, und fügen Sie die Daten ein Quelle a-Element Gehen Sie zu diesem Zeitpunkt zur kombinierten Datengruppe group=[a]
2 Nehmen Sie b heraus, nehmen Sie a aus der kombinierten Datengruppe heraus, kombinieren Sie a und b, erhalten Sie ab und fügen Sie das Datenquellen-b-Element ein und ab in die kombinierte Datengruppe, zu diesem Zeitpunkt group=[a,b,ab]
3 Nehmen Sie c heraus und kombinieren Sie die Datengruppe, um a, b, ab herauszunehmen, kombinieren Sie sie jeweils mit c und erhalten Sie ac , bc, abc werden jeweils in die Datenquelle c eingefügt, ac, bc und abc werden in die kombinierte Datengruppe eingefügt, group=[a,b,ab,c,ac,bc,abc]
js-Code:
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));
Ausgabeergebnisse ausführen:
Verwandt Empfehlungen:
PHP-Beispielcode für einen vollständigen rekursiven Permutationsalgorithmus
JavaScript-Spaßfrage: Vollständige Permutation zum Entfernen von Duplikaten
Das obige ist der detaillierte Inhalt vonImplementierungsmethode für den vollständigen JS-Permutations- und Kombinationsalgorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!