二分查找又称折半查找,使用条件是 有序的线性表并顺序存储
int Binary_search(int a[],int n,int key)
{
int low,high,mid;
low=0;
high=n; //注意是n
while(low<=high) //可以试试 low<high
{
mid=(low+high)/2;
if(key<a[mid])
high=mid-1;
else if(key>a[mid])
low=mid+1;
else
return mid;
}
return -1;
}
时间复杂度:O(logn)
本文介绍了二分查找算法的实现过程及原理,适用于有序线性表的查找操作,并提供了具体的C语言实现代码。通过递归地将查找区间缩小一半的方式进行元素定位,有效降低了查找的时间复杂度。
5691

被折叠的 条评论
为什么被折叠?



