javascript实现二分查找法实现代码


Posted in Javascript onNovember 12, 2007

一般二分都用到int[]型上.....在js中可能会更灵活的用到a-z上,或者用到拼音...或者用到......

不过值得深思的一个问题是,如果为了实现对拼音之类的二分查找.而经过如下流程是否值得:

1。对拼音排序,貌似代码量不小吧。

2。然后再二分查找。这又需要识别拼音的大小,貌似也不算太小吧。

找到结果的速度快了,可是别人下你的js文件速度慢多了,呵呵,到底舍弃谁。

下面的代码甚至可以10亿条,一样会很快找到,可是用遍例的模式创建那个数组。。。所以还是别尝试了。只是给个思路,下次我再来发个js的八皇后问题解决方案,呵呵算法很奇妙哦

var array = [];  
var key = 482;  
var number = 1000;  for(i=0;i<number;i++){  
 array.push(i);  
}  
//-->>  
var time = new Date();  
var a;  
var left = 0;  
var right= array.length;  
while(left<=right){  
 var center=Math.floor((left+right)/2);  
 if(array[center] == key) a = center;  
 if(key < array[center]){  
  right = center - 1;   
 }else{  
  left = center + 1;  
 }  
}  
alert("二分查找法搜索的结果:"+a);  
alert((new Date() - time)/1000); 
Javascript 相关文章推荐
使用正则替换变量
May 05 Javascript
使用jquery实现IE下按backspace相当于返回操作
Mar 18 Javascript
Javascript刷新窗口方法小结
Oct 21 Javascript
jQuery的each循环用法简单示例
Jun 12 Javascript
js倒计时显示实例
Dec 11 Javascript
AngularJS 单选框及多选框的双向动态绑定
Apr 20 Javascript
javascript 正则表达式分组、断言详解
Apr 20 Javascript
详解Vue如何支持JSX语法
Nov 10 Javascript
JS二级菜单不同实现方法分析【4种方法】
Dec 21 Javascript
js中call()和apply()改变指针问题的讲解
Jan 17 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
用Fundebug插件记录网络请求异常的方法
Feb 21 Javascript
Auntion-TableSort国人写的一个javascript表格排序的东西
Nov 12 #Javascript
用js实现手把手教你月入万刀(转贴)
Nov 07 #Javascript
不能再简单的无闪刷新验证码原理很简单
Nov 05 #Javascript
才发现的超链接js导致网页中GIF动画停止的解决方法
Nov 02 #Javascript
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
Oct 23 #Javascript
非常漂亮的JS代码经典广告
Oct 21 #Javascript
国外Lightbox v2.03.3 最新版 下载
Oct 17 #Javascript
You might like
php google或baidu分页代码
2009/11/26 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
Input 特殊事件onpopertychange和oninput
2009/06/17 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
jquery实现图片放大点击切换
2017/06/06 jQuery
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
Python如何获取系统iops示例代码
2016/09/06 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
应届电子商务毕业自荐书范文
2014/02/11 职场文书
对祖国的寄语大全
2014/04/11 职场文书
创业女性典型材料
2014/05/02 职场文书
电视节目策划方案
2014/05/16 职场文书
政工例会汇报材料
2014/08/26 职场文书
生产现场禁烟通知
2015/04/23 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js