常见的查找算法即七大查找算法:
一:顺序查找
二:二分查找
三:插值查找
四:费波那西查找
五:数表查找
六:分块查找
七:哈希查找
以二分查找为例:
<script>
var arr=[1,2,3,4,5,6,7,8,9,10];
function twoFind(arr,item,start,end){
if(item>arr[arr.length-1]||item<arr[0]){
return false;
}
var mid=Math.floor((start+end)/2);
if(arr[mid]==item){
return arr[mid];
}else if(item<arr[mid]){
return twoFind(arr,item,start,mid-1);
}else if(item>arr[mid]){
return twoFind(arr,item,mid+1,end);
}
return false;
}
console.log(twoFind(arr,11,0,arr.length-1)); //false
//基于原数组是已从小到大排好序
</script>