알고리즘
Brute Force (완전 탐색 알고리즘)
dev스카이
2022. 8. 5. 15:08
Brute Force란?
Brute : 신체적인 힘[폭력]에만 의존하는, 짐승같은
Force : 힘
Brute-Force : '온전히 힘으로만 모든 것을 다 해보겠다'라는 의미로 해석할 수 있다.
▷ 정리하면, 모든 경우의 수를 탐색하는 알고리즘이다. 그런 점에서 '완전 탐색 알고리즘'이라고도 한다.
특징
- 암호를 해킹할 때 주로 사용되었다.
- 조합 가능한 모든 것을 하나씩 대입해 보는 방식이다.
- 오래 걸리고 자원이 많이 들어가지만, 하나씩 다 해보기 때문에 100%의 정확도를 보장한다.
※ 코딩테스트에 단순히 이 알고리즘을 푸는 문제가 나오는 것이 아닌 모든 문제마다 부분적으로 필요할 수도 있다.
종류
선형 구조 : Sequential Search
비선형 구조 : Backtracking, DFS, BFS
더보기
⊙ 선형 자료구조 : 자료 사이의 관계가 1:1 관계인 순차 리스트, 연결 리스트, 스택, 큐, 데크 등이 있다.
⊙ 비선형 자료구조 : 계층 구조나 망 구조를 갖는 자료구조로 트리와 그래프가 있다.