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 相关文章推荐
JavaScript 常见对象类创建代码与优缺点分析
Dec 07 Javascript
js中eval详解
Mar 30 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
Jun 12 Javascript
javascript中类的定义方式详解(四种方式)
Dec 22 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
May 05 Javascript
概述VUE2.0不可忽视的很多变化
Sep 25 Javascript
Vue form表单动态添加组件实战案例
Sep 02 Javascript
vue点击页面空白处实现保存功能
Nov 06 Javascript
微信小程序图片加载失败时替换为默认图片的方法
Dec 09 Javascript
微信小程序自定义顶部组件customHeader的示例代码
Jun 03 Javascript
原生js滑动轮播封装
Jul 31 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 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
利用php获取服务器时间的实现代码
2013/06/07 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
基于Python log 的正确打开方式
2018/04/28 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
南京南京观后感
2015/06/02 职场文书
学风建设主题班会
2015/08/17 职场文书
初中语文教师研修日志
2015/11/13 职场文书
教育教学工作反思
2016/02/24 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS
基于Go Int转string几种方式性能测试
2021/04/28 Golang
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python