• 二分法


      二分法的画图解析:

     

      二分法的原理:用传统的方法 要找到一个数字,需要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("没找到");
      }

  • 相关阅读:
    es5中的类 继承 (原型链继承,寄生继承,组合继承)
    typeScript类型
    javaScript 不可思议问题
    javaScript 运算符(操作符)
    window.a 与 window[a]区别
    Event Loop事件循环
    生产环境vue-router模式为history导致页面404
    Axios请求添加token
    vue页面利用keep-alive实现页面快速缓存
    js原型链原理
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10731647.html
Copyright © 2020-2023  润新知