이진탐색 알고리즘 : 매번 범위를 반으로 줄여가면서 탐색하는것, 데이터가 정렬되어야함. 따라서 배열이 정렬되어있다고 가정하고 만들어짐.
<구현코드>
function binarySearch(arr, target, start, end)
{
if ( start > end) {
return null;
}
let mid = Math.floor((start + end) /2);
if(arr[mid] === target) {
return mid;
} else if(target > arr[mid]){
return binarySearch(arr,target,mid+1,end);
} else {
return binarySearch(arr,target,start,mid-1);
}
}