Erhalt einer powerset von einem Satz in Java

Das powerset von {1, 2, 3} ist:

{{}, {2}, {3}, {2, 3}, {1, 2}, {1, 3}, {1, 2, 3}, {1}}

Sagen wir, ich habe eine Set in Java:

Set<Integer> mySet = new HashSet<Integer>();
mySet.add(1);
mySet.add(2);
mySet.add(3);
Set<Set<Integer>> powerSet = getPowerset(mySet);

Wie Schreibe ich die Funktion getPowerset, mit den besten möglich, um der Komplexität?
(Ich denke, es könnte sein, O(2^n).)

InformationsquelleAutor der Frage Manuel Aráoz | 2009-11-03

Schreibe einen Kommentar