Получение powerset набора в Java
в множество {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).)
Comments