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 相关文章推荐
javascript-TreeView父子联动效果保持节点状态一致
Aug 12 Javascript
JQuery 图片延迟加载并等比缩放插件
Nov 09 Javascript
测试JavaScript字符串处理性能的代码
Dec 07 Javascript
取选中的radio的值
Jan 11 Javascript
基于Jquery与WebMethod投票功能实现代码
Jan 19 Javascript
提示$ is not defined错误分析及解决
Apr 09 Javascript
jQuery实现复选框全选/取消全选/反选及获得选择的值
Jun 12 Javascript
基于JavaScript实现生成名片、链接等二维码
Sep 20 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
Aug 15 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
May 07 Javascript
Vue实现商品分类菜单数量提示功能
Jul 26 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
Mar 12 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
图形数字验证代码
2006/10/09 PHP
杏林同学录(八)
2006/10/09 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
php实现单链表的实例代码
2013/03/22 PHP
如何使用Strace调试工具
2013/06/03 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
BootStrap modal实现拖拽功能
2018/12/01 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
js代码实现轮播图
2020/05/04 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
python基础教程之字典操作详解
2014/03/25 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
python 识别图片中的文字信息方法
2018/05/10 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
Python基础教程之异常详解
2019/01/10 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
525心理活动总结
2014/07/04 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
2016党员入党决心书
2015/09/22 职场文书
java实现面板之间切换功能
2022/06/10 Java/Android
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android