Binary search, also known as binary lookup, is a more efficient method of searching.
 
"Two-point search Requirements": 1. Sequential storage structure must be used 2. Ordered by keyword size.
 
 
public class BinarySearch {public static void main (string[] args) {int[] src = new int[] {1, 3, 5, 7, 8   
        , 9};  
        System.out.println (BinarySearch (SRC, 3));  
    System.out.println (BinarySearch (src,3,0,src.length-1));            /** * * * Binary LOOKUP algorithm * * * @param srcarray * Ordered array * * @param des *    
      
        Lookup element * * @return des array subscript, not found return-1/public static int BinarySearch (int[] srcarray, int des) {   
        int low = 0;   
        int high = srcarray.length-1;   
            while (low <= high) {int middle = (low + high)/2;   
            if (des = = Srcarray[middle]) {return middle;   
            }else if (des <srcarray[middle]) {high = middle-1;   
            }else {low = middle + 1;  
   }} return-1; /** * Binary find the position of a particular integer in an integer array (recursive) * @parAmdataset * @paramdata * @parambeginIndex * @paramendIndex * @returnindex/Pub Lic static int BinarySearch (int[] dataset,int data,int beginindex,int endindex) {int midindex = (beginindex+end    
       Index)/2; if (Data <dataset[beginindex]| | data>dataset[endindex]| |    
       Beginindex>endindex) {return-1;    
       } if (data <dataset[midindex]) {return binarysearch (dataset,data,beginindex,midindex-1);    
       }else if (Data>dataset[midindex]) {return binarysearch (Dataset,data,midindex+1,endindex);    
       }else {return midindex;   }    
   }   
  
}