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.


Anmelden zum Antworten