멱집합(모든 부분집합)을 비트 벡터를 이용해 구현
- 원소 개수가 n개이면, 모든 부분집합의 개수는 2^n개가 되므로 멱집합의 원소 개수는 2^n개다. 너무 많다.
- 비트 벡터를 이용해서 메모리를 n 만큼만 쓰는 방법
- https://github.com/umbum/effective-java-3e-source-code/blob/master/src/effectivejava/chapter7/item47/PowerSet.java
- AbstractList에서 src라는 외부 변수를 사용하고 있다. 클로저.
'Algorithm > Theory' 카테고리의 다른 글
Dynamic programming, 기억하며 풀기 (0) | 2018.09.26 |
---|---|
Linked list 구현 (0) | 2018.07.20 |
선형 시간 안에 중앙값 선택하기 (0) | 2018.05.10 |
max, min 동시에 찾기 / 두 번째로 큰 값 찾기 (0) | 2018.05.06 |
5개의 원소를 7번 비교로 정렬하기 / 6번 비교로 중간값 찾기 (+ 상대자 논증) (0) | 2018.05.03 |