완전탐색(Exhaustive Search)
완전탐색
이란, '모든 경우의 수를 고려하는 탐색 알고리즘'이다.
가능한 경우의 수를 모두 찾는 가장 강력한 방법이지만, 그만큼 시간이 오래 걸리는 탐색기법이다.
완전탐색 종류
- 브루트포스(Brute Force) : for문을 이용하여 처음부터 끝까지 탐색하는 방법
- 비트 마스크 : 이진수 표현을 자료구조로 쓰는 기법(AND, OR, XOR, SHIFT, NOT)
- 백트레킹 : 분할정복을 이용한 기법으로 재귀함수를 이용한다.
- 재귀함수 : 함수 내에서 자기 자신을 계속해서 호출하는 것
- 순열 : 서로 다른 n개의 원소에서 r개의 중복을 허용하지 않고 순서대로 늘어 놓은 수
- BFS(너비 우선 탐색)
- DFS(깊이 우선 탐색)
완전탐색 예제
- PS - 자릿수 합
- 프로그래머스 - 모의고사
📚 Reference