美文网首页
2、二分法

2、二分法

作者: 杀破狼real | 来源:发表于2018-01-12 19:35 被阅读0次

写一个二分法函数,返回指定值在数据的位置。

const dichotomy = (arr = [], val = 0) => {
  // 默认开始和结束的位置分别为集合的第一个和最后一个
  let [start, end] = [0,  arr.length - 1];

  while (start < end) {
    const middle = end == 1 ? 0 : Math.floor((start + end + 1) / 2);

    if (arr[middle] > val) {
      end = middle;
    } else if (arr[middle] < val) {
      start = middle;
    } else {
      return middle;
    }
  }

  return -1;
};

const arr = [...new Array(100)].map((item, i) => i + 1);
const pos = dichotomy(arr, 27);

console.log(pos); //26

以上为代码演示,欢迎指正!

相关文章

  • 冒泡排序、选择排序和二分法查找

    冒泡排序 选择排序 二分法查找 概念 1.使用二分法好处: 可以加快寻找的效率。2.使用二分法特点: 二分法...

  • 算法和排序

    1、线性查找 2、二分法查找 3、冒泡排序

  • Python 二分法

    二分法定义: 二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 例如需...

  • 2018-11-26

    1、快速排序 2、冒泡 3、二分法 4、单例模式

  • 二分查找

    二分法 二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2...例如需要查找有...

  • 用二分法计算a的n次幂<算法分析>

    实验目的: 1、复习java编程;2、掌握二分法的基本原理;3、掌握使用java程序进行二分法计算a的n次幂。 实...

  • 二分法查找

    二分法基本查找 二分法遍历查找

  • 二分法查找

    二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法...

  • 二分法查找

    二分法查找原理 使用二分法查找时需要以下两个条件: 1)没有重复元素 2)已经排好顺序 假设给定一组排好序...

  • 数据结构-二分法求幂-C

    二分法求幂 数据结构中二分法运用到求幂提高计算效率方式,算法精简这里做个简单解释及代码 原理自析 如求2^32: ...

网友评论

      本文标题:2、二分法

      本文链接:https://www.haomeiwen.com/subject/ontqoxtx.html