JavaScript使用二分查找算法在数组中查找数据的方法

 更新时间:2015年04月07日 14:40:51   作者:令狐不聪  
这篇文章主要介绍了JavaScript使用二分查找算法在数组中查找数据的方法,较为详细的分析了二分查找法的原理与javascript实现技巧,需要的朋友可以参考下

本文实例讲述了JavaScript使用二分查找算法在数组中查找数据的方法。分享给大家供大家参考。具体分析如下:

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

var Arr = [3,5,6,7,9,12,15];
function binary(find,arr,low,high){
if(low <= high){
if(arr[low] == find)
return low;
if(arr[high] == find)
return high;
var mid = Math.ceil((high + low)/2);
if(arr[mid] == find){
return mid;
}else if(arr[mid] > find){
return binary(find,arr,low,mid-1);
}else{
return binary(find,arr,mid+1,high);
}
}
return -1;
}
binary(15,Arr,0,Arr.length-1);

希望本文所述对大家的javascript程序设计有所帮助。

相关文章

  • 微信小程序使用蓝牙小插件

    微信小程序使用蓝牙小插件

    这篇文章主要为大家详细介绍了微信小程序使用蓝牙小插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • JS、CSS以及img对DOMContentLoaded事件的影响

    JS、CSS以及img对DOMContentLoaded事件的影响

    最近在做性能有关的数据上报,发现了两个非常有意思的东西:Chrome开发者工具的Timeline分析面板,以及DOMContentLoaded事件。一个是强大的令人发指的性能分析工具,一个是重要的性能指标,于是就用Timeline对DOMContentLoaded事件进行了一番研究
    2014-08-08
  • ES6字符串模板,剩余参数,默认参数功能与用法示例

    ES6字符串模板,剩余参数,默认参数功能与用法示例

    这篇文章主要介绍了ES6字符串模板,剩余参数,默认参数功能与用法,结合具体实例形式分析了ECMAScript6中的6字符串模板,剩余参数,默认参数的概念、作用、使用方法与相关注意事项,需要的朋友可以参考下
    2017-04-04
  • javascript 禁止复制网页

    javascript 禁止复制网页

    常见的一些禁止复制网页的代码,但破解方法也不见容易,这里就不说了,可以看本站以前发布的文章。
    2009-06-06
  • javascript 树控件 比较好用

    javascript 树控件 比较好用

    构建树控件的比较理想的一种方法是用ul、li这种简单的标签组合来实现,但是你如果想实现复杂一点的比如要节点可编辑、可拖动、可更换风格等等我想ExtJS是最好的选择了。
    2009-06-06
  • JavaScript 保护变量不被随意修改的实现代码

    JavaScript 保护变量不被随意修改的实现代码

    本文通过实例代码给大家分享JavaScript 保护变量不被随意修改的实现方法,需要的朋友参考下吧
    2017-09-09
  • 浅析JavaScript中作用域和作用域链

    浅析JavaScript中作用域和作用域链

    本文主要介绍了JavaScript中作用域和作用域链解析,条理分明,方便理解,这里推荐给小伙伴们,有需要的朋友可以参考下
    2016-12-12
  • js获取时间(本周、本季度、本月..)

    js获取时间(本周、本季度、本月..)

    js获取时间,包括:获取本周、本季度、本月、上月的开端日期、停止日期,下面有个不错的示例,感兴趣的朋友可以参考下
    2013-11-11
  • javascript 遮照层效果

    javascript 遮照层效果

    遮照层效果实现代码。
    2009-09-09
  • 浅谈JavaScript闭包

    浅谈JavaScript闭包

    这篇文章主要介绍了JavaScript闭包,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论