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 相关文章推荐
一段实现页面上的图片延时加载的js代码
Feb 11 Javascript
Checbox的操作含已选、未选及判断代码
Nov 07 Javascript
Bootstrap选项卡与Masonry插件的完美结合
Jul 06 Javascript
js智能获取浏览器版本UA信息的方法
Aug 08 Javascript
JavaScript简介_动力节点Java学院整理
Jun 26 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
Jul 16 Javascript
js 获取html5的data属性实现方法
Jul 28 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
Sep 28 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
Sep 25 Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
Nov 09 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
PHP4.04简明安装
2006/10/09 PHP
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python 快速排序代码
2009/11/23 Python
Python中的map、reduce和filter浅析
2014/04/26 Python
简单了解Django模板的使用
2017/12/20 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
python实现坦克大战
2020/04/24 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
工商管理专业学生的自我评价
2013/10/01 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
大学班级学风建设方案
2014/05/01 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android