二分法查找数列

使用二分法查找的前提条件是:数列已经排列有序,且没有重复元素。

适用二分法查询:当需查询的数列的元素量较大时。

好处:由于二分法的特性,在查询过程中能一次性去除一半的不符合条件的元素,查询速度快。

缺点:数列需要是有序的且无重复元素。

代码实现:

public static int binarySearch(int[] array,int key) {
        int start = 0;
        int end = array.length-1;
        while(start <= end) {
            int index = (start + end) >> 1;
            if (array[index] > key) {
                end = index -1;
            } else if (array[index] < key) {
                start = index + 1;
            } else {
                return index;
            }            
        }
        return -1;
    }

 

 

posted @ 2019-08-04 16:50  Gikin  阅读(332)  评论(0)    收藏  举报