1.二分查找
二分查找(Binary Search)算法,也叫折半查找算法。二分查找针对的是一个有序的数据集合查找。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。
let arr = [1, 2, 3, 6, 54, 654]
function search(arr, target) {
let count = 0;
let start = 0;
let end = arr.length - 1;
while (start <= end) {
count++
let middle = Math.floor((start + end) / 2)
let guess = arr[middle]
if (guess == target) {
return middle
}
if (guess > target) {
end = middle
}
if (guess < target) {
start = middle
}
}
}
console.log(search(arr,6))