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 Object.extend
May 18 Javascript
JavaScript异步回调的Promise模式封装实例
Jun 07 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
Aug 04 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
Feb 17 Javascript
BootStrap按钮标签及基本样式
Nov 23 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
Feb 06 Javascript
Vue.js弹出模态框组件开发的示例代码
Jul 26 Javascript
js实现本地时间同步功能
Aug 26 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
在微信小程序中渲染HTML内容的方法示例
Sep 28 Javascript
微信小程序实现两个页面传值的方法分析
Dec 11 Javascript
vue-devtools的安装和使用步骤详解
Oct 17 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
windows下安装php的memcache模块的方法
2015/04/07 PHP
js中文逗号转英文实现
2014/02/11 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
使用python实现rsa算法代码
2016/02/17 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
abstract class和interface有什么区别?
2012/01/03 面试题
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
医生自荐信
2013/10/11 职场文书
火锅店营销方案
2014/02/26 职场文书
人资专员岗位职责
2014/04/04 职场文书
敬老院活动总结
2014/04/28 职场文书
品质口号大全
2014/06/17 职场文书
模具专业求职信
2014/06/26 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
新党章的学习心得体会
2014/11/07 职场文书
2016年班主任新年寄语
2015/08/18 职场文书