• 技术文章 >Web开发 >JavaScript

    js中二分搜索的使用

    小妮浅浅小妮浅浅2021-10-12 16:14:22原创112

    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);

    以上就是js中二分搜索的使用,希望对大家有所帮助。更多js学习指路:js教程

    专题推荐:js 二分搜索
    品易云
    上一篇:js中快速排序如何实现 下一篇:js如何合并两个有序数组

    相关文章推荐

    • js栈的应用场景• js中的树如何理解• js中ES Module和CommonJs的区别• js作用域链是什么• js声明变量的提升• js中pop和push的比较• js中shift和unshift的对比• js如何检查是否满足条件• js数组归并的方法• js函数中arguments属性是什么• js函数中this如何使用• js中eval方法是什么• js深度优先遍历的介绍• js广度优先遍历如何实现• js中快速排序如何实现

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网