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


Posted in Javascript onApril 07, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
通过event对象的fromElement属性解决热区设置主实体的一个bug
Dec 22 Javascript
javascript 进阶篇2 CSS XML学习
Mar 14 Javascript
JS动态修改iframe高度和宽度的方法
Apr 01 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
Dec 02 Javascript
jQuery ready()和onload的加载耗时分析
Sep 08 Javascript
详解vue-Resource(与后端数据交互)
Jan 16 Javascript
JS实现动态给标签控件添加事件的方法示例
May 13 Javascript
vue实现移动端悬浮窗效果
Dec 01 Javascript
微信小程序实现点击按钮后修改颜色
Dec 05 Javascript
vue+animation实现翻页动画
Jun 29 Javascript
openlayers4实现点动态扩散
Aug 17 Javascript
javascript实现放大镜功能
Dec 09 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
Apr 07 #Javascript
JS 作用域与作用域链详解
Apr 07 #Javascript
JavaScript实现在页面间传值的方法
Apr 07 #Javascript
简易的投票系统以及js刷票思路和方法
Apr 07 #Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
Apr 07 #Javascript
TypeScript具有的几个不同特质
Apr 07 #Javascript
实现前后端数据交互方法汇总
Apr 07 #Javascript
You might like
世界收音机发展史
2021/03/01 无线电
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
2013/06/29 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
python批量赋值操作实例
2018/10/22 Python
python仿抖音表白神器
2019/04/08 Python
python编写俄罗斯方块
2020/03/13 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
新闻专业推荐信范文
2013/11/20 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
企业业务员岗位职责
2014/03/14 职场文书
元旦晚会主持词
2014/03/24 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
民用住房租房协议书
2014/10/29 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
经典爱情感言
2015/08/03 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
银行求职信范文
2019/05/13 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书