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; }
}
}