二分查找法

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。

 

public static int binary_search(int[] array , int value){  
        int low = 0;  
        int hight = array.length-1;  
        while(hight>=low){  
            int middle =(hight + low)/2;   
            if(array[middle]==value){  
                return middle;  
            }else if(array[middle] >value){  
                hight = middle-1;  
            }else {   
                low = middle+1;  
            }  
        }  
        return -1;  
    } 

二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),

 

posted @ 2016-09-04 08:17  海的心  阅读(170)  评论(0)    收藏  举报