Brute : 무식한
Force : 힘
직역하면, 무식한 힘을 갖는 알고리즘이란 뜻으로, 가능한 모든 경우의 수를 모두 탐색하면서 결과를 도출한다.
전체를 탐색한다는 의미에서 전체 탐색, 완전 탐색이라고도 한다.
브루트포스 알고리즘은 대부분은 반복문과 조건문을 통하여 답을 도출한다.
완전 탐색이라는 이름에서도 알 수 있듯이 하나부터 열까지 모든 경우를 다 탐색하는 알고리즘이다.
알고리즘을 설계하고 구현하기 쉽다
모든 경우의 수를 탐색하기 때문에 100% 정확성을 보장한다.
메모리 효율면에서 매우 비효율적이다.
알고리즘의 실행 시간이 매우 오래걸린다. (시간복잡도가 높다)
전체 탐색에는 기본적으로 3가지 방법이 존재합니다.
순차 탐색 - 선형 구조를 순차적으로 탐색
DFS(깊이 우선 탐색) - 비선형구조를 점점 더 깊게 깊이를 우선적으로 탐색하는 방법
BFS(너비 우선 탐색) - 비선형구조를 너비를 기준으로 탐색하는 방법