1. 개요
조합과 중복조합이 가능한 모든 경우를 추출하기 알고리즘.
역시나 코드 구성과 그 내용은 앞선 57, 58 챕터와 동일하다.
이 코드에서 배운 것이 있다면, 만약 데이터를 중복해서 추출하고 싶을 때의 어떻게 하는지에 대해서이다.
하지만 결론은 단순히 조합 알고리즘에서 단순히 Index + 1을 Index로 바꾸기만 하면 되었다.
시간 측정을 해봤는데, 적어도 증가량이 지수적 증가보다는 다항 시간에 가깝다.
2. 코드 및 출력
2-1) 조합 알고리즘
2-2) 중복조합 알고리즘
2-3) 결과 출력
2-4) 시간 출력
'테크 > 알고리즘' 카테고리의 다른 글
61. 그래프 분할(Graph Partitioning) - 연회장 나누기 알고리즘 (0) | 2016.11.01 |
---|---|
60. 부정방정식 풀이 알고리즘 (3) | 2016.10.31 |
58. 배낭 문제 (knapsack problem) - 도둑의 고민 (1) | 2016.10.30 |
57. 입력한 N에 따라 0부터 N-1까지 모둔 부분집합 출력하기 알고리즘 (0) | 2016.10.29 |
56. Quick Sort (퀵 정렬) 파헤치기 (0) | 2016.10.29 |