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


一般二分都用到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);




相关阅读:
Linux系统标点符号的部分编码
Linux利用tar备份系统
Ubuntu 8.10最新软件推荐
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
Windows系统开始菜单运行命令的10个另类用法
Prototype实战教程----6.$
JSP中的字符替换函数 str_replace() 实现
CSS网页设计中的解决方案
target 属性怎么用 JS 来控制
javascript web对话框与弹出窗口
仿AS3实现PHP 事件机制实现代码
比较全面的PHP数组的使用方法小结
PHP入门指导:如何学习PHP?
windows系统下 解决移动存储设备\"无法停用通用卷\"
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4