[알고리즘] 이분 탐색자료구조 | 알고리즘/탐색(Brute Force)2023. 12. 6. 10:14
Table of Contents
728x90
반응형
컴퓨터는 1억번 연산하는데 약 1초가 걸린다. 하지만 알고리즘 문제를 해결하다 보면 입력이 1억번 이상 주어지는 경우가 있다.
이때에는 모두 탐색할 경우 시간 초과가 날 가능성이 크다. 따라서 더 빠른 풀이방법을 생각해야 한다. 이런 경우 보통 이분탐색을 쓴다.
선형 탐색의 시간 복잡도를 O(lon N)으로 만들어준다.
[반복문으로 구현한 이분 탐색]
while(L <= R){
M = (L + R) / 2;
if(target > arr[M]) L = M + 1;
else if(target < arr[M]) R = M - 1;
else {
result = true;
break;
}
}
lower_bound
upper_bound
728x90
반응형
'자료구조 | 알고리즘 > 탐색(Brute Force)' 카테고리의 다른 글
[알고리즘] 가장 긴 증가하는 부분 수열 O(n log n) (이분 탐색 풀이) (1) | 2023.12.18 |
---|---|
[알고리즘] 두 포인터 (0) | 2023.12.16 |
[알고리즘] Parametric Search(매개변수 탐색) (0) | 2023.12.11 |
브루트 포스(완전 탐색) 알고리즘 (0) | 2023.10.31 |
투 포인터 (0) | 2023.10.30 |
@BE_개발자 :: 경이로운 개발일기
경이로운 BE 개발자가 되기 위한 프로그래밍 공부 기록장
도움이 되었다면 "❤️" 또는 "👍🏻" 해주세요! 문의는 아래 이메일로 보내주세요.