[JAVA] 멱집합
{a, b, c, d, e, f}의 모든 부분집합 = (1) a를 포함하지 않는 {b, c, d, e, f}의 부분집합 + (2) a를 포함하는 {b, c, d, e, f}의 부분집합 (1)과 (2)의 크기는 사실 같습니다. 결국 (1)에서 구한 {b, c, d, e, f}의 부분집합에 a를 더한 것들이 (2)이기 때문입니다. 만약 (1)의 크기가 2^5이라면, (2)의 크기 역시 2^5입니다. 때문에 (1) + (2)는 2^5* 2 = 2^6입니다. 여기서 recursion을 발견할 수 있습니다. {b, c, d, e, f}에 대해서도 위의 과정에서 했던 것처럼 b를 포함하지 않는 부분집합과 b를 포함하는 부분집합을 더해줍니다. recursion을 통해 부분 집합들을 계속 return하면 많은 양의 데..