搜索算法

顺序搜索

最简单的搜索算法,遍历数组,遇到和目标值相同的数字,返回其下标

二分搜索

二分搜索前提是数组必须是有序数组。从数组中间元素开始搜索,如果正好是目标值,则返回搜索结果。如果大于/小于目标值,从前面或者后面那一半再进行二分搜索

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
}

results matching ""

    No results matching ""