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