二分法的画图解析:

  二分法 随笔

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  二分法的原理:用传统的方法 要找到一个数字,需要for循环一个一个遍历,这种写法,如果在1000个数字中,找一个数组,需要遍历1000次,非常的消耗资源

  所以提出了另一种方法 二分法,先对数组进行排序,找出中间的数,和查找的数进行对比;

  二分法作用:常用于数据查找的方法;   前端的数组搜索;

  案例: 

  var arr=[2,26,36,45,67,89,12,46,53,42];
    //二分查找的前提,一定要从小到大排序;
    arr.sort(function(a,b){
      return a-b;
    })
    //最小的数的索引 , 最大的书的索引;
    var startindex=0;endindex=arr.length;
    var findnum=prompt();
    var middleindex=Math.floor((startindex+endindex)/2);
    while(startindex!==middleindex&&endindex!==middleindex){
      console.log(1);
      if(arr[middleindex]>findnum){
        endindex=middleindex;
      }
      else if(arr[middleindex]<findnum){
        startindex=middleindex;
      }
      else if(arr[middleindex]==findnum){
        break;    //这里很重要,不然的话会一直遍历下去,因为是while循环 ,不加的话,很可能死机
      }
      middleindex=Math.floor((startindex+endindex)/2);
    }
  if(arr[middleindex]==findnum){
    document.write("找到了");
  }
  else{
    document.write("没找到");
  }

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄