zoukankan      html  css  js  c++  java
  • 二分法

      二分法的画图解析:

     

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

  • 相关阅读:
    Gulp实现web服务器
    移动端事件介绍
    Javascript设计模式详解
    H5移动端知识点总结
    【干货理解】理解javascript中实现MVC的原理
    [干货]数据交互与本地存储
    深入理解Javascript面向对象编程
    javascript数组的知识点讲解
    javascript函数式编程要掌握的知识点讲解
    深入浅出的javascript的正则表达式学习教程
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10731647.html
Copyright © 2011-2022 走看看