const list = ['a', 'b', 'c', 'd', ...]
function binarySearch(list, item){
// low 와 high 는 탐색해야하는 범위
let low = 0
let high = list.length - 1
while (low <= high) { // 탐색해야 하는 범위 제한
let mid = parseInt((low + high)/2) // 중간
let guess = list[mid]
if(guess === item){
return mid
}
if(guess > item){
high = mid - 1
} else {
low = mid + 1
}
}
const myList = [1, 3, 5, 7, 9]
console.log(binarySearch(myList, 7)) // 3
console.log(binarySearch(myList, -1)) // -1
hello coding 그림으로 개념을 이해하는 알고리즘 을 참고하여 작성하였습니다.