Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 알고리즘
- w3wp.exe
- 분할정복법
- 윈도우11인터넷없이설치
- sql튜닝
- 코딩테스트
- 코테
- 윈도우11네트워크없이설치
- SQLD
- 독학
- 삽입정렬
- windows11setup
- GROOUPING SETS
- mssql프로시저검색
- adsp공부방법
- 순환
- 톰캣버전확인
- it자격증추천
- 비밀번호
- 상태공간트리
- It
- windows11install
- mssql호환성수준확인
- SQL
- mssql함수검색
- 예제
- 선택정렬
- mssql호환성수준
- 프로세스에연결
- 호환성수준변경
Archives
- Today
- Total
404 not found
7. 멱집합(Powerset) 본문
7. 멱집합(Powerset)
멱집합
임의의 집합의 모든 부분집합
{a,b,c,d,e,f} 의 모든 부분집합을 나열하려면
a를 제외한 {b,c,d,e,f} 의 모든 부분집합들을 나열하고 , {b,c,d,e,f} 의 모든 부분집합에 {a}를 추가한 집합들을 나열한다.
집합 S
: k번째부터 마지막 원소까지 연석된 원소들
: data[k], ..., data[n-1]
집합P
: 처음부터 k-1번째 원소들 중 일부
: include[i] = true (i = 0, ..., k-1)
private static char data[] = {'a','b','c','d','e','f'};
private static int n = data.length;
private static boolean [] include = new boolean [n];
public static void powerSet (int k) { //트리상의 나의 위치를 표현
if (k==n) { //내가 리프노드라면
for (int i=0; i<n; i++)
if (include[i])
System.out.print(data[i] + "");
System.out.println();
return;
}
include[k] = false;
powerset(k+1); //왼쪽으로 내려갔다가
include[k] = true;
powerSet(k+1); //오른쪽으로 내려간다.
}
상태공간 트리 (state space tree)
해를 찾기 위해 탐색할 필요가 있는 모든 후보들을 포함하는 트리
트리의 모든 노드들을 방문하면 해를 찾을 수 있다.
루트에서 출발하여 체계적으로 모든 노드를 방문하는 절차를 기술한다.
'자료구조 > 알고리즘강좌' 카테고리의 다른 글
9. 알고리즘: 합병정렬(merge sort) (0) | 2021.09.28 |
---|---|
8. 기본적인 정렬 알고리즘 (0) | 2021.02.28 |
6. 순환(Recursion)의 응용: N-Queens (0) | 2021.02.19 |
5. 순환(Recursion)의 응용: Counting Cell in a Blob (0) | 2021.02.18 |
4. 순환(Recursion)의 응용: 미로찾기 (0) | 2021.02.17 |
Comments