본문 바로가기
자료구조&알고리즘/Basic

부분 집합 (Sub Set)

by _din 2022. 2. 21.

부분 집합 (Sub Set)

$2^n$ 의 경우의 수를 갖는다.

 

소스 코드

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class SubSet {
    public static void subSet(List<Integer> list, int n, int depth) {
        if (depth == n) {
            System.out.println(list);
            return;
        }

        list.add(depth);
        subSet(list, n, depth + 1);
        list.remove(list.size() - 1);
        subSet(list, n, depth + 1);
    }

    public static void main(String[] args) throws IOException {
        subSet(new ArrayList<>(), 3, 0);
    }
}

실행결과

[0, 1, 2]
[0, 1]
[0, 2]
[0]
[1, 2]
[1]
[2]
[]

 

 

예시)

반응형

'자료구조&알고리즘 > Basic' 카테고리의 다른 글

조합 (Combination)  (0) 2022.02.20
순열 (Permutation)  (0) 2022.02.20
재귀 알고리즘  (0) 2021.05.16
꼭 필요한 자료구조 기초  (0) 2021.05.02
시간 복잡도와 공간 복잡도  (0) 2020.10.31

댓글