C++ Permutation ohne Berücksichtigung der Reihenfolge
-
Hallo,
ich suche einen Algorithmus, der mir alle Permutationen eines beliebigen
Arrays ausgibt ohne die Reihenfolge zu berücksichtigen. Hintergrund ist, dass
nur die Summe der Elemente entscheidend ist. Zudem sollen beispielsweise aus
einem Array mit 3 Elementen nicht nur Kombinationen mit 3 Elementen berechnet werden, sondern auch mit 2 und 1 Elementen.BSP:
Array mit 3 Elementen:
a,b,c,d
Permutationen:
a, b, c, ab, ac, bc, abc
Mein Hauptproblem ist das Nichtberücksichtigen der Reihenfolge.
Ich würde mich freuen, wenn ihr mir weiterhelfen könntet.Vielen Dank im Voraus
double-b
-
Das nennt sich Potenzmenge oder Power Set (http://en.wikipedia.org/wiki/Power_set)
Beispielimplementierungen sollten sich finden lassen. Ich will dir jetzt aber nicht den Spass nehmen, selbst drauf zu kommen
-
double-b schrieb:
ich suche einen Algorithmus, der mir alle Permutationen eines beliebigen
Arrays ausgibt ohne die Reihenfolge zu berücksichtigen.Permutieren heißt Vertauschen. Bei einer Permutation kommt es also per Definition auf die Reihenfolge an. Daher macht dieser Satz keinen Sinn.
-
Vielen Dank für den Tipp mit der Potenzmenge, ich habe nur einen Ansatz gebraucht.
Michael E. schrieb:
Bei einer Permutation kommt es also per Definition auf die Reihenfolge an. Daher macht dieser Satz keinen Sinn.
Ja, dass ist mir jetzt klar. Ich hätte Permutationen durch die Menge aller Teilmengen ersetzen müssen.