CS/알고리즘
브루트포스 알고리즘(Bruteforcing)
tjdms4327
2024. 11. 19. 11:14
브루트포스 알고리즘(Bruteforcing)
- 가능한 모든 경우의 수를 탐색 -> 100%의 정확성 but 높은 시간복잡도
- 시간 복잡도 파악이 중요하다. <- 시간초과 문제
- for문, 재귀, 등 사용
브루트포스 알고리즘 사용조건
- 문제에서 달성하고자 하는 솔루션이 정의되어 있다.
- 문제를 해결할 수 있는 풀이의 수가 제한되어 있다. <- 솔루션 수가 무한하거나 너무 크면 효율적X
브루트포스 종류
- 선형 구조: 순차 탐색
- 비선형 구조: 백트래킹, DFS, BFS
브루트포스의 활용
- 문자열 처리: 문자열의 모든 부분 문자열 생성, 탐색
- 조합(combination) 생성: 주어진 집합의 모든 부분집합을 생성, 탐색
- 완전 탐색: 작은 입력 크기에서 모든 가능한 경우 탐색