二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
一、查找过程
首先,用二分查找表中的元素是有序的。
将查找的关键字与表的中间位置的关键字比较,如果相等,则返回。
如果待查找的关键字比表中间的关键字小,则查找表的左边。
如果待查找的关键字比表中间的关键字大,则查找表的右边。
二、算法实现
int Binary_Search(int[] array,int key){
int left = 0;
int right = array.length - 1;
while(left <= right){
int mid = (left + right) / 2;
if(key = array[mid]){
return mid;
}
if(key > array[mid]){
left = mid + 1;
}else{
right = mid - 1;
}
}
return 0;
}
折半查找是比较简单的一种查找算法,但是他的效率却很高!