您的位置:首页 > 其它

二分查找

2014-12-07 11:28 162 查看
二分查找算法,又称折半查找,是一种在有序数组中查找某一特定元素的搜索算法

搜素过程从数组的中间元素开始,

1)如果中间元素正好是要查找的元素,则搜素过程结束;

2)如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找;

3)数组为空,退出

代码如下:

int binary_search(int A[], int n, int target)
{
int low = 0, high = n - 1, mid = -1;
while (low <= high)
{
mid = (low + high) / 2;
if (A[mid] == target)
{
break;
}
else if (A[mid] < target)
{
low = mid + 1;
}
else
{
high = mid - 1;
}
}

return (low <= high) ? mid : -1;
}


折半查找时间

  T(n) = T(n/2) + c ==>> T(n) = O(lbn)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: