二叉搜索算法

阅读 53

2022-04-30

二分查找算法:数据源必须是有序数组,时间复杂度为O(logN)

public static void main(String[] args) {
    int[] arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
    System.out.println(binarySearch(arr,8));
}

public static int binarySearch(int arr[], int data){
    int low = 0;
    int height = arr.length-1;
    while(low<=height){
        int mid = low + (height-low)/2;
        if(arr[mid]>data){
            height = mid -1;
        }else if(arr[mid]<data){
            low = mid + 1;
        }else{
            return mid;
        }
    }
    return -1;
}

精彩评论(0)

0 0 举报