|
不過值得深思的一個(gè)問題是,如果為了實(shí)現(xiàn)對(duì)拼音之類的二分查找.而經(jīng)過如下流程是否值得:
1。對(duì)拼音排序,貌似代碼量不小吧。
2。然后再二分查找。這又需要識(shí)別拼音的大小,貌似也不算太小吧。
找到結(jié)果的速度快了,可是別人下你的js文件速度慢多了,呵呵,到底舍棄誰(shuí)。
下面的代碼甚至可以10億條,一樣會(huì)很快找到,可是用遍例的模式創(chuàng)建那個(gè)數(shù)組。。。所以還是別嘗試了。只是給個(gè)思路,下次我再來發(fā)個(gè)js的八皇后問題解決方案,呵呵算法很奇妙哦
復(fù)制代碼 代碼如下:
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("二分查找法搜索的結(jié)果:"+a);
alert((new Date() - time)/1000);
JavaScript技術(shù):javascript實(shí)現(xiàn)二分查找法實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。