二分查找法:
二分查找法又称折半查找法,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。(借鉴百度百科)时间复杂度为:log2n,即log以2为底,n的对数。
1.递归方式完成二分查找法:
/**
* 递归方法实现二分查找法.
* @param Array数组
* @param low 数组第一位置
* @param high 最高
* @param keyValue 要查找的值.
* @return 返回值.
*/
int binSearch(int Array[],int low,int high,int keyValue)
{
if (low<=high)
{
int mid = (low+high)/2;
if(keyValue == Array[mid])
return mid;
else if(keyValue<Array[mid])
//移动low和high
return binSearch(Array,low,mid-1,keyValue);