• 技术文章 >Web开发 >JavaScript

    js中二分搜索的使用

    小妮浅浅小妮浅浅2021-11-17 15:13:33原创13014

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

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

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    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教程

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

    专题推荐: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学习网