搜索算法
顺序搜索
最简单的搜索算法,遍历数组,遇到和目标值相同的数字,返回其下标
二分搜索
二分搜索前提是数组必须是有序数组。从数组中间元素开始搜索,如果正好是目标值,则返回搜索结果。如果大于/小于目标值,从前面或者后面那一半再进行二分搜索
function binarySearch (arr, res) {
let low = 0
let high = arr.length - 1
while (low <= high) {
const mid = Math.floor((low + high) / 2)
const element = arr[mid]
if (element === res) {
return mid
} else if (element > res) {
high = mid - 1
} else if (element < res) {
low = mid + 1
}
}
return -1
}