Heim >Web-Frontend >js-Tutorial >Implementierungsmethode für den vollständigen JS-Permutations- und Kombinationsalgorithmus

Implementierungsmethode für den vollständigen JS-Permutations- und Kombinationsalgorithmus

小云云
小云云Original
2018-01-27 11:20:006481Durchsuche

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:

JavaScript mehrere nicht-rekursive vollständige Permutationsalgorithmus-Codes Detaillierte Erläuterung von Beispielen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn