상세 컨텐츠

본문 제목

[밀라 알고리즘 스터디]1주차 : 브루트 포스

밀라 알고리즘 스터디

by qkrtnals 2025. 1. 6. 17:39

본문

알고리즘이라고는 수업시간에 해본거 말고는 없어서 개념부터 차근차근 해봐야겠다 . 

 

브루트포스 : brute force
  ⇒완전 탐색의 또 다른 이름으로 쓰임. 완전 탐색으로 답을 도출하는 알고리즘
      대부분 반복문과 조건문을 통하여 답을 도출
완전탐색과의 차이점 
 : 완전 탐색 알고리즘은 결과를 찾기보단 탐색에 중점 + 브루트포스 알고리즘은 결과를 찾는것에 중점

 

알고리즘 설계의 가장 기본적인 접근 방법 
   : 해가 존재할 것으로 예상되는 모든 영역을 전체 탐색하는 방법
모든 경우의 수를 전부 탐색하기 때문에 100%의 정확성을 보장
하지만 그렇기에 높은 시간 복잡도를 가짐

 

브루트포스 알고리즘의 사용 조건

1. 문제에서 달성하고자 하는 솔루션이 잘 정의
 : 솔루션이 잘 정의되어 있지 않은 문제라면 브루트포스를 사용한 솔루션이 올바른지의 여부 확인 불가
2. 문제를 해결할 수 있는 풀이의 수가 제한됨
 : 문제에서 고려해야 할 솔루션의 수가 한정되어 있어야 함 고려해야 할 솔루션의 수가 무한하거나 너무 크면 브루트포스 알고리즘은 효율적이지 못함 

 

문제 해결 방법

1. 주어진 문제를 선형 구조로 구조화

2. 구조화된 문제 공간을 적절한 방법으로 해를 구성할 때까지 탐색

3. 구성된 해 정리 

 

브루트포스를 사용하는 것은 항상 효율적이지는 못하며 더 효율적인 방법이 없는지 고민해보고 사용해야 함 

관련글 더보기