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

(编辑:jimmy 日期: 2026/4/30 浏览:2)

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


一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。