Brute Force(브루트 포스)
브루트 포스는 Brute : 난폭한 / Force : 힘 => 난폭한 힘으로 해석이 된다.
이를 설명하면, 무식하게 모든 경우의 수를 탐색(완전탐색)하면서 조건에 충족되는 결과만을 가져온다.
- 이 알고리즘의 가장 큰 특징은 모든 영역을 전체 탐색하는 방법이다.
- 전체 탐색하는 방법으로는 선형 구조를 전체적으로 탐색하는 순차 탐색, 비선형 구조를 전체적으로 탐색하는 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS), 백트래킹(Backtracking) 가 기본적인 도구이다.
- 어떤 방식으로든 전체 탐색으로 문제를 해결한다면 브루트 포스 알고리즘으로 풀었다고 할 수 있다.
브루트 포스는 완벽히 모든 경우의 수를 탐색하기에, 정확도는 우수하지만, 자원을 너무 많이 사용한다는 점에서 시간 복잡도에 매우 민감하다.
'Algorithm > KBro Study' 카테고리의 다른 글
[알고리즘] 그리디 - 최소 스패닝 트리(Minimum Spanning Tree) (0) | 2023.02.19 |
---|---|
[자료구조] 그래프(Graph) + 구현하기(Java의 인접행렬과 인접리스트) (0) | 2023.01.17 |
[자료구조] B-tree, B+tree 이론 정리 (0) | 2022.12.28 |
[자료구조] Java - 해시테이블(HashTable) 이론정리 (0) | 2022.12.23 |
[자료구조] Java - Heap(힙) 이론정리 + 구현 + Priority Queue(우선순위 큐) (0) | 2022.12.11 |