Language/JAVA
2023. 3. 13.
[JAVA] 자바 부분집합 구하기 이진트리 DFS
1~n까지의 숫자의 부분집합을 모두 구하는 알고리즘을 DFS로 구현해본다. n=3이라고 가정했을 때 1, 2, 3의 부분집합을 구해보자. 위와 같이 해당 숫자를 포함한다, 포함하지 않는다로 이진트리를 만들 수 있다. ch 배열을 사용해 숫자가 포함되었는지 포함되지 않았는지 확인한 후, 포함된 값들만 출력해주면 된다. 예를 들어, 해당 트리처럼 숫자 1, 2, 3을 포함하는 경로로 DFS(4)에 도달했다면 ch배열은 모두 1의 값을 가지는 형태를 띌 것이고 이를 출력해주면 된다. ==> 부분집합 1 2 3 다음 예로, 해당 트리처럼 숫자 1, 2는 포함하지만 3은 포함하지 않는 경로로 DFS(4)에 도달했다면 ch배열은 모두 위 그림과 같은 형태를 띌 것이고, 1 값을 갖는 인덱스만 출력해주면 된다. ==..