Stay Hungry Stay Foolish

알고리즘

Brute Force (완전 탐색 알고리즘)

dev스카이 2022. 8. 5. 15:08

Brute Force란?

Brute : 신체적인 힘[폭력]에만 의존하는, 짐승같은 

Force : 힘

Brute-Force : '온전히 힘으로만 모든 것을 다 해보겠다'라는 의미로 해석할 수 있다. 

 

▷ 정리하면, 모든 경우의 수를 탐색하는 알고리즘이다. 그런 점에서 '완전 탐색 알고리즘'이라고도 한다.

 

특징

- 암호를 해킹할 때 주로 사용되었다.

- 조합 가능한 모든 것을 하나씩 대입해 보는 방식이다.

- 오래 걸리고 자원이 많이 들어가지만, 하나씩 다 해보기 때문에 100%의 정확도를 보장한다.

※ 코딩테스트에 단순히 이 알고리즘을 푸는 문제가 나오는 것이 아닌 모든 문제마다 부분적으로 필요할 수도 있다.

 

종류

선형 구조 : Sequential Search

비선형 구조 : Backtracking, DFS, BFS

더보기

⊙ 선형 자료구조 : 자료 사이의 관계가 1:1 관계인 순차 리스트, 연결 리스트, 스택, 큐, 데크 등이 있다.

⊙ 비선형 자료구조 : 계층 구조나 망 구조를 갖는 자료구조로 트리와 그래프가 있다.