[Algorithm] 이분 탐색
2020. 3. 3. 03:51ㆍProblem solving/Algorithm
이 포스트는 작성중입니다!
int binary_search(int data[], int num, int size) {
int left = 0;
int right = size - 1;
int mid;
mid = (left + right) / 2;
while (left <= right) {
if (data[mid] == num) return mid;
else if (data[mid] > num) right = mid - 1;
else left = mid + 1;
mid = (left + right) / 2;
}
return -1;
}
오름차순으로 sort된 size만큼의 크기를 가지고있는 정수 배열 num이 data[]에서 몇번째에 위치하는지를 return 하는 함수입니다. num이 data[]에 존재하지 않는다면 -1을 return 합니다.
'Problem solving > Algorithm' 카테고리의 다른 글
벨만 포드 알고리즘 (Bellman-Ford algorithm) (0) | 2020.03.25 |
---|---|
다익스트라 알고리즘(Dijkstra Algorithm) (0) | 2020.03.22 |
[Algorithm] DFS & BFS (0) | 2020.03.16 |
[Algorithm] 최대공약수, 최소공배수 구하기 (0) | 2019.12.04 |
[Algorithm] 소수 구하기 (0) | 2019.12.03 |