2. 재귀
권오흠 교수님 유튜브 강의
4. 멱집합
{1,2,3,4} 모든 부분집합
1을 포함하지 않는 모든 부분집합
1을 포함하는 모든 부분집합
위 2개 재귀
상태공간트리 활용
k = 트리 레벨 (위치, 노드 깊이)
ex) k=2 -> 2번째 위치 값까지 포함 여부에 대한 집합
k == 집합 길이 -> 모든 집합 (마지막 리프노드)
5. 순열
data = {1,2,3,4} -> 4! = 24 (1234의 모든순열 가지수)
1234, 1243 ... 4321
1 -> 234 의 모든 순열
12 -> 34 의 모든 순열
13 -> 24 의 모든 순열
14 -> 23 의 모든 순열
하위 반
2 -> 134 의 모든 순열
3 -> 124 의 모든 순열
4 -> 123 의 모든 순열
상태공간트리
멱집합(조합, 순서 상관x) 과 순열(순서상관) 나열의 응용
배낭문제(Knapsack)
무게와 가격이 정해진 N개의 아이템과 용량이 W인 배낭이 있다. 배낭의 용량을 초과하지 않으면서 가격의 합이 최대가 되도록 아이템을 배낭에 넣으려면??
시간복잡도 : O(2^n)..... 최적화 필요
멱집합 -> 무게 > W 무시하고, W<= 무게 필터링 -> 최대인거 구하기
TSP
모든 도시 출장 -> 원점 복귀 -> 가장 짧은 투어 경로 구하기
Last updated
Was this helpful?