0
点赞
收藏
分享

微信扫一扫

数据结构——二分查找

三维控件研究 2022-02-16 阅读 47

二分查找——一维数组

// 有序数组
let arr=[1,2,3,4,5,6,7,8,9];

function find(arr,target) {
    let left=0;
    let right=arr.length-1;
    while(left<=right){
        let mid=Math.floor((left+right) / 2);
        if(arr[mid]===target){
            return true;
        }else if(arr[mid]>target){
            right=mid-1;
        }else{
            left=mid+1;
        }
    }
    return false;
}

console.log(find(arr,7))

二分查找——二维数组

// 行有序 列有序
let arr=[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]];

function find(arr,target) {
    let left=0;
    let bottom=arr.length-1;
    while(left<arr[0].length && bottom>0){
        if(arr[bottom][left]===target){
            return true;
        }else if(arr[bottom][left]>target){
            bottom--;
        }else{
            left++;
        }
    }
    return false;
}

console.log(find(arr,15))
举报

相关推荐

0 条评论