二分查找

来源:互联网 发布:windows 7 编辑:程序博客网 时间:2024/05/22 01:37
//A为遍历对象,x为待查找元素while(low<=high){    mid=(low+high)/2;    if(A[mid]<x){        low=mid+1;    }    else if(A[mid]>x){        high=mid-1;    }    else{        return mid;    }}return -1;

1.二分查找的时间复杂度是logN,所以当遍历大规模的有序表时,二分查找是一个很好的降低时间复杂度的方法。

2.二分查找的核心:(1)low——遍历下界;(2)high——遍历上界;(3)mid——中间点。(4)遍历对象有序

3.一般来讲,只有满足遍历对象有序,用for逐个遍历的代码可以很轻松的改写成二分查找的代码。

4.二分查找就是一个退出条件+三个if语句