Ich versuche, eine Methode zu schreiben, die alle Permutationen eines Power-Sets berechnet, wo Reihenfolge wichtig ist. Ich glaube, das nennt man "Arrangements". Was ich damit meine, ist:Effiziente Anordnung Algorithmus in Java
{a} -> {{a}, {}}
{a,b} -> {{a,b}, {b,a}, {a}, {b}, {}}
{a,b,c} -> {{a,b,c}, {a,c,b}, {b,a,c}, {b,c,a}, {c,a,b}, {c,b,a}, {a,b}, {a,c}, {b,a}, {b,c}, {c,a}, {c,b}, {a}, {b}, {c}, {}}
usw. Mein Eindruck ist, dass ein Satz S gegeben, ich sollte also zuerst die Powerset erzeugen, dann Karte eine Permutation jede Permutation von jeder Teilmenge der Potenz von S. erzeugen Funktion auf jeden Satz.
Das Problem ist, dass dies immens komplex ist - etwas wie O (Σn!/K!) Mit k = 0..n.
Ich frage mich, ob es irgendwelche vorhandenen Algorithmen gibt, die diese Art von Sache sehr effizient tun (vielleicht eine parallele Implementierung). Oder vielleicht sogar, wenn ein Parallel-Powerset-Algorithmus existiert und ein paralleler Permutationsalgorithmus existiert, kann ich die beiden kombinieren.
Gedanken?
Vielleicht überprüfen Sie diesen Beitrag aus: http://StackOverflow.com/Questions/1506078 – squiguy
mögliche Duplikate von [Schnelle Permutation -> Anzahl -> Permutation Mapping-Algorithmen] (http://StackOverflow.com/Questions/1506078/Fast -Permutation-Nummer-Permutation-Mapping-Algorithmen) – Makoto
Ich glaube nicht, dass es ein Duplikat ist. Ich lese diesen Thread und es fragt nach etwas ganz anderem. Die Lösungen sind im Thema etwas ähnlich, aber sind sicherlich unterschiedlich genug, um separate Threads zu gewährleisten. – rhombidodecahedron