브루트포스(brute force)

호수·2023년 10월 27일
0

JAVA 알고리즘

목록 보기
11/67
post-thumbnail
post-custom-banner

완전탐색 : 브루트포스 알고리즘 Brute Force Algorithm

Brute : 무식한
Force : 힘

직역하면, 무식한 힘을 갖는 알고리즘이란 뜻으로, 가능한 모든 경우의 수를 모두 탐색하면서 결과를 도출한다.
전체를 탐색한다는 의미에서 전체 탐색, 완전 탐색이라고도 한다.
브루트포스 알고리즘은 대부분은 반복문과 조건문을 통하여 답을 도출한다.

완전 탐색이라는 이름에서도 알 수 있듯이 하나부터 열까지 모든 경우를 다 탐색하는 알고리즘이다.

브루트포스의 장점

알고리즘을 설계하고 구현하기 쉽다
모든 경우의 수를 탐색하기 때문에 100% 정확성을 보장한다.

브루트포스의 단점

메모리 효율면에서 매우 비효율적이다.
알고리즘의 실행 시간이 매우 오래걸린다. (시간복잡도가 높다)

방법

전체 탐색에는 기본적으로 3가지 방법이 존재합니다.
순차 탐색 - 선형 구조를 순차적으로 탐색
DFS(깊이 우선 탐색) - 비선형구조를 점점 더 깊게 깊이를 우선적으로 탐색하는 방법
BFS(너비 우선 탐색) - 비선형구조를 너비를 기준으로 탐색하는 방법

추천 문제

브론즈-분해합

profile
Back-End개발자 성장과정 블로그🚀
post-custom-banner

0개의 댓글