[C++] 완전 탐색(1) - 부분 집합 구하기
본 게시글은 "Competitive Programmer's Handbook"을 보며 임의로 해석하며 공부한 내용입니다. 완전 탐색 거의 모든 알고리즘 문제를 해결하는 데 사용할 수 있는 일반적인 방법 완전 탐색은 정답에 대해 충분한 시간이 있다면 좋은 기술이다. 왜냐하면 완전 탐색은 검색을 구현하기 쉽고 항상 올바른 정답을 제공하기 때문이다. 하지만 완전 탐색이 너무 느리다면 그리디 알고리즘, 동적프로그래밍과 같은 다른 기술이 필요하다. 1. 부분 집합 구하기 먼저, n개 원소 집합의 모든 하위 집합을 생성하는 문제를 살펴보자. 예를 들어 {0, 1, 2}의 하위 집합은 "공집합, {0}, {1}, {2}, {0,1}, {0,2}, {1,2}, {0,1,2}" 이다. 하위 집합을 생성하는 일반적인 방법에..
2021. 6. 24.