728x90
반응형
1. 개요
1. O(logN) 시간 복잡도로 해당 배열에서 특정 값을 찾는 알고리즘
2. 알고리즘 코드
vector<int> ans;
// 이진 탐색 알고리즘
int binary_search(int n)
{
int low = 0;
int high = ans.size() - 1;
int ret = MAX_N;
while (low <= high) {
int mid = (low + high) / 2;
int num = ans[mid];
if (num >= n) {
ret = min(ret, mid);
high = mid - 1;
}
else
low = mid + 1;
}
return ret;
}
3. 문제
https://www.acmicpc.net/problem/12015
https://www.acmicpc.net/problem/1208
728x90
'알고리즘' 카테고리의 다른 글
[알고리즘] 다이나믹 프로그래밍(DP, Dynamic Programming) (0) | 2024.05.04 |
---|---|
[알고리즘] CCW(Counter ClockWise) 기하 알고리즘 (0) | 2024.05.01 |
[알고리즘] 분리 집합(Union-Find) (0) | 2024.04.14 |
[알고리즘] 누적 합 (0) | 2024.04.11 |
[알고리즘] 그리디 알고리즘 (1) | 2024.04.06 |