js实现二分法查找方法

2019-07-24  本文已影响0人  isSunny

所谓二分法查找法,也就是折半查找,它是一种在有序数组查找特定元素的搜索算法。

参考《前端程序员面试秘籍》

var arr = [1,2,3,4,5,6];
function getIndex1(arr,key){
            var low = 0;
            var high = arr.length-1;
            while(low<=high){
                var mid = Math.floor((low+high)/2);
                if(key===arr[mid]){
                    return mid;
                }else if(key>arr[mid]){
                    low = mid+1;
                }else{
                    height = mid-1;
                }
            }
            return -1;
}
console.log(getIndex1(arr,5));//4

思想:从数组中开始查找,如果该元素是要搜索的目标元素,则循环结束,如果不是继续下一步,如果目标元素大于或者小于中间元素,则在数组大于或者小于中间元素的那一半区域进行查找,进而重复上面操作。如果数组是空的,则找不到该目标元素。

上一篇 下一篇

猜你喜欢

热点阅读