javascript实现二分查找法实现代码
发布时间:2016-12-30 来源:查字典编辑
摘要:一般二分都用到int[]型上.....在js中可能会更灵活的用到a-z上,或者用到拼音...或者用到......不过值得深思的一个问题是,如...
一般二分都用到int[]型上.....在js中可能会更灵活的用到a-z上,或者用到拼音...或者用到......
不过值得深思的一个问题是,如果为了实现对拼音之类的二分查找.而经过如下流程是否值得:
1。对拼音排序,貌似代码量不小吧。
2。然后再二分查找。这又需要识别拼音的大小,貌似也不算太小吧。
找到结果的速度快了,可是别人下你的js文件速度慢多了,呵呵,到底舍弃谁。
下面的代码甚至可以10亿条,一样会很快找到,可是用遍例的模式创建那个数组。。。所以还是别尝试了。只是给个思路,下次我再来发个js的八皇后问题解决方案,呵呵算法很奇妙哦
复制代码 代码如下:
vararray=[];
varkey=482;
varnumber=1000;
for(i=0;i<number;i++){
array.push(i);
}
//-->>
vartime=newDate();
vara;
varleft=0;
varright=array.length;
while(left<=right){
varcenter=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((newDate()-time)/1000);