|
不過值得深思的一個問題是,如果為了實現對拼音之類的二分查找.而經過如下流程是否值得:
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);
JavaScript技術:javascript實現二分查找法實現代碼,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。