Силовой набор {1, 2, 3}
:
{{}, {2}, {3}, {2, 3}, {1, 2}, {1, 3}, {1, 2, 3}, {1}}
Скажем, у меня есть Set
в Java:
Set<Integer> mySet = new HashSet<Integer>();
mySet.add(1);
mySet.add(2);
mySet.add(3);
Set<Set<Integer>> powerSet = getPowerset(mySet);
Как написать функцию getPowerset с наилучшим возможным порядком сложности? (Я думаю, это может быть O (2 ^ n).)