티스토리 뷰
알고리즘 풀이 시 가장 기본 방법이다. 완전 탐색, 브루트 포스라고도 불리며 이름 그대로 모든 경우를 다 탐색하는 방법이다.
기초 알고리즘 문제나 쉬운 시뮬레이션에서 완전 탐색을 통해 최적 값을 구하는 경우가 많다.
그러나 시간이 최대로 돌아간다. 그러하여 난이도가 조금만 올라가도 시간 초과가 걸리는 경우가 대다수이다.
문제마다 다르지만 기본적으로 2중 for문을 통해 모든 경우를 다 체크하는 경우가 많다. 또는 재귀를 통해 모든 경우를 체크한다.
2중 for문이면 시간복잡도는 O(N^2)이 되며 N이 100000정도가 되면 시간이 매우 오래 걸린다. 이때, 조건문을 통해 시간을 조금 줄일 수 있지만 좋은 방법은 아니다.
완전 탐색이 무조건 안 좋은 방법은 아니다. 문제에 따라 모든 탐색을 해야하는 경우가 있으며 이를 적절한 조건문과 재귀를 이용하면빠르게 탐색할 수 있다. 이러한 방법이 구체화 되면 백트래킹, DFS, BFS로 발전하는 경우가 된다. 이는 문제를 많이 풀다보면 자연스레 깨닫게 되는 것 같다.
작성자 : 히더
'알고리즘 > 이론' 카테고리의 다른 글
정렬 알고리즘 (Sorting Algorithm) (0) | 2018.10.09 |
---|---|
[알고리즘] 기본 및 복잡도 (0) | 2018.09.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 2018 카카오 블라인드 채용
- string
- 삼성
- 연구소 3
- SWEA
- 팁
- 17143
- DP
- 17779
- 알고리즘
- 새로운 게임 2
- DFS
- 입출력
- hackerrank
- 17142
- 역량 테스트
- 17144
- STL
- 2018 KAKAO BLIND RECRUITMENT
- 미세먼지 안녕!
- 트렌드
- boj
- 백준
- 게리맨더링 2
- scanf
- 이차원 배열과 연산
- 17837
- 시간 복잡도
- SW Expert Academy
- 17140
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함