1. 이분 탐색 (binary search)
- O(n) =logN 으로 굉장히 빠른 탐색 방법
- 정렬 후에 사용가능 하다.
function binarySearch(target, arr) {
// binary search
let index;
// arr.sort((a, b) => a - b);
let left = 0;
let right = arr.length - 1;
while (left < right) {
let mid = parseInt((left + right) / 2);
if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid;
}
if (left == right && arr[left] == target) {
return left + 1;
}
}
}
2. 결정 알고리즘
- 탐색할 범위를 정한다.
- 결정 함수를 정의한다.
- 범위에서 최적의 값을 구한다.
'코딩테스트 with JS' 카테고리의 다른 글
멀티 소팅(multi sorting) (0) | 2022.05.11 |
---|---|
Class 만들기 (0) | 2022.05.05 |
Deep Copy (0) | 2022.05.04 |
swap (0) | 2022.05.02 |
array 중복 제거 및 중복 값 찾기 (0) | 2022.04.28 |