목록lower_bound (1)
웅재의 코딩세상
이진 검색(Binary Search)
정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 알고리즘이다. 일반적인 탐색 기법으로는 앞에서부터 요소를 순차적으로 탐색하기 때문에 시간 복잡도는 데이터의 개수만큼 된다 O(n) 만일 데이터의 개수가 무수히 많아진다면 비효율적인 검색 방법이 된다. 하지만 Binary Search를 사용하면 O(log n)의 시간 복잡도로 탐색할 수 있다. Binary Search 구현 코드 bool binarySearch(int *arr, int len, int key){ int start = 0; int end = len - 1; int mid; while(end-start >= 0){ // 중앙값 초기화 mid = (left + right) / 2; if(arr[mid] == key) // k..
개념/알고리즘
2023. 12. 1. 17:08