브루트 포스는 완전탐색 알고리즘이다.
가능한 모든 경우의 수를 탐색하며 해를 찾아낸다.
대입하여야 할 데이터가 많아질 수록 경우의 수도 기하급수적으로 늘어나므로 시간, 메모리 사용량면에서 비효율적이다.
그럼 왜, 언제 사용하게 되는걸까?
브루트 포스는 어떠한 구조여도 모든 자료를 탐색해야 하므로 자료구조마다 방법이 있다.
자료의 구조에 따라 두 가지 종류로 나뉜다.
선형구조를 탐색하는 방법 : 순차 탐색
1) 주어진 문제를 선형 구조로 구조화한다.
2) 구조화된 문제를 해를 구할 때까지 탐색한다.
3) 탐색한 해를 출력 조건에 맞도록 정리한다.
비선형 구조를 탐색하는 방법 : DFS, BFS
별도 게시물 포스팅 예정
참고자료 읽어보기 !
알고리즘 기법[전체 탐색] - 브루트 포스(brute force)
알고리즘 브루트 포스 - 순차 탐색, DFS, BFS