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 相关文章推荐
Jquery 扩展方法
May 06 Javascript
JS清除IE浏览器缓存的方法
Jul 26 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
May 11 Javascript
js实现从数组里随机获取元素
Jan 12 Javascript
jquery移动端TAB触屏切换实现效果
Dec 22 Javascript
js严格模式总结(分享)
Aug 22 Javascript
关于Vue.js一些问题和思考学习笔记(1)
Dec 02 Javascript
深入理解vue-router之keep-alive
Aug 31 Javascript
原生JS实现的雪花飘落动画效果
May 03 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
Nov 30 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
Apr 28 Javascript
小程序实现横向滑动日历效果
Oct 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
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
golang与PHP输出excel示例
2016/07/22 PHP
php 数据结构之链表队列
2017/10/17 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
总结python中pass的作用
2019/02/27 Python
彻底理解Python中的yield关键字
2019/04/01 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
Python面向对象编程基础实例分析
2020/01/17 Python
django admin 添加自定义链接方式
2020/03/11 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
异常和异常类的概念
2014/09/12 面试题
自我评价200字分享
2013/12/17 职场文书
2014年人事科工作总结
2014/11/19 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
教师听课学习心得体会
2016/01/15 职场文书
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL