[알고리즘] 부분집합

ERror.ASER·2021년 2월 18일
0

알고리즘

목록 보기
3/5
post-thumbnail

부분집합

public static void subset(int cnt) {
    if(cnt == N) {
        return;
    }
    
    //선택
    isSelected[cnt] = true;
    subset(cnt+1);
    //비선택
    isSelected[cnt] = false;
    subset(cnt+1);
}

부분집합 - 공집합 제외

public static void subset(int cnt) {
    if(cnt == N) {
        int selectedCnt = 0;
        for(int i=0; i<N; i++) {
            if(isSelected[i]) selectedCnt++;
        }
        
        if(selectedCnt>0) {
            for(int i=0; i<N; i++) {
                if(isSelected[i]) System.out.println(result[i]+"\t");
            }
        }
        return;
    }
    
    //선택
    isSelected[cnt] = true;
    subset(cnt+1);
    //비선택
    isSelected[cnt] = false;
    subset(cnt+1);
}
profile
지우의 블로그

0개의 댓글