Maison  >  Article  >  interface Web  >  javascript实现二分查找法实现代码_javascript技巧

javascript实现二分查找法实现代码_javascript技巧

WBOY
WBOYoriginal
2016-05-16 19:07:561074parcourir

一般二分都用到int[]型上.....在js中可能会更灵活的用到a-z上,或者用到拼音...或者用到......

不过值得深思的一个问题是,如果为了实现对拼音之类的二分查找.而经过如下流程是否值得:

1。对拼音排序,貌似代码量不小吧。

2。然后再二分查找。这又需要识别拼音的大小,貌似也不算太小吧。

找到结果的速度快了,可是别人下你的js文件速度慢多了,呵呵,到底舍弃谁。

下面的代码甚至可以10亿条,一样会很快找到,可是用遍例的模式创建那个数组。。。所以还是别尝试了。只是给个思路,下次我再来发个js的八皇后问题解决方案,呵呵算法很奇妙哦


复制代码 代码如下:

var array = []; 
var key = 482; 
var number = 1000; 

for(i=0;i array.push(i); 

//-->> 
var time = new Date(); 
var a; 
var left = 0; 
var right= array.length; 
while(left var center=Math.floor((left+right)/2); 
 if(array[center] == key) a = center; 
 if(key   right = center - 1;  
 }else{ 
  left = center + 1; 
 } 

alert("二分查找法搜索的结果:"+a); 
alert((new Date() - time)/1000); 


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn