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 相关文章推荐
js控制框架刷新
Aug 01 Javascript
IE8 中使用加速器(Activities)
May 14 Javascript
JQuery中getJSON的使用方法
Dec 13 Javascript
淘宝搜索框效果实现分析
Mar 05 Javascript
json原理分析及实例介绍
Nov 29 Javascript
JavaScript中的值类型详细介绍
Dec 29 Javascript
vue组件间通信解析
Mar 01 Javascript
Node.js + express基本用法教程
Mar 14 Javascript
详解javascript对数组和json数组的操作
Apr 15 Javascript
十分钟教你上手ES2020新特性
Feb 12 Javascript
原生JS实现无缝轮播图片
Jun 24 Javascript
JS数组reduce()方法原理及使用技巧解析
Jul 14 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实现的四则运算表达式计算实现代码
2011/08/02 PHP
PHP抓屏函数实现屏幕快照代码分享
2014/01/02 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
jsTree使用记录实例
2016/12/01 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python不规范的日期字符串处理类
2014/06/10 Python
python字典get()方法用法分析
2015/04/17 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
python实现机器人行走效果
2018/01/29 Python
python2.7到3.x迁移指南
2018/02/01 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
python重要函数eval多种用法解析
2020/01/14 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
安全协议书范本
2014/04/21 职场文书
小学生环保演讲稿
2014/04/25 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
员工工作表现自我评价
2015/03/06 职场文书
《落花生》教学反思
2016/02/16 职场文书
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android