首页 > 文章列表 > js中二分搜索的使用

js中二分搜索的使用

js 二分搜索
441 2022-08-06

1、二分搜索的前提是数组有序,从数组的中间元素开始。如果中间元素恰好是目标值,搜索就结束了。

2、如果目标值大于或小于中间元素,则在大于或小于中间元素的一半中进行搜索。

实例

Array.prototype.binarySearch = function (item) {
  let low = 0;
  let high = this.length - 1;
  while (low <= high) {
    const mid = Math.floor((low + high) / 2);
    const element = this[mid];
    if (element < item) {
      low = mid + 1;
    } else if (element > item) {
      high = mid - 1;
    } else {
      return mid;
    }
  }
  return -1;
};
const arr = [1, 2, 3, 4, 5];
const res = arr.binarySearch(3);

推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。