Permutationen des JavaScript-Arrays generieren

8

Ich habe eine Reihe von n verschiedenen Elementen in Javascript, ich weiß, es gibt n! Möglichkeiten, diese Elemente zu bestellen. Ich möchte wissen, was der effektivste (schnellste) Algorithmus ist, um alle möglichen Anordnungen dieses Arrays zu generieren?

Ich habe diesen Code:

%Vor%

Und es funktioniert, aber ich schätze, dass das Austauschen jedes Elements, um die Kombinationen zu bekommen, ein bisschen teuer ist. Ich dachte, ein guter Weg wäre, sich nur auf die Indizes des Arrays zu konzentrieren und alle Permutationen der Zahlen zu erhalten. Ich frage mich, ob es eine Möglichkeit gibt, alle zu berechnen, ohne Elemente innerhalb des Arrays zu wechseln. Ich denke, rekursiv ist möglich, um alle von ihnen zu bekommen, ich brauche Hilfe, dies zu tun.

Also zum Beispiel wenn ich:

%Vor%

Ich möchte die Ausgabe:

%Vor%

oder:

%Vor%

Ich lese das hier: Ссылка

Aber Wikipedia war nie gut darin zu erklären. Ich verstehe nicht viel davon, ich muss sagen, dass mein Mathe-Level nicht das Beste ist.

    
DSB 01.06.2016, 22:46
quelle

2 Antworten

4

Diese Funktion, perm(xs) , gibt alle Permutationen eines gegebenen Arrays zurück:

%Vor%
    
chacmoolvm 06.04.2017 15:56
quelle