/*
array:数组名
n:数组大小
k:二分法需要找的值
*/
int binary(int array[],int n,int k){
int l = -1;
int r = n;
while(l + 1 < r){
if(k < array[(l + r) / 2])
r = (l + r) / 2;
if(k == array[(l + r) / 2])
return (l + r) / 2;
if(k > array[(l + r) / 2])
l = (l + r) / 2;
}
}
每次都是减少一半所以时间复杂度为logn(在程序员中一般log没有写底的都是以2为底)
本文深入探讨了二分查找算法的实现,详细解释了如何在有序数组中查找特定元素的过程。通过递减一半搜索范围的方法,实现了高效查找,时间复杂度达到O(log n)。
4749

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



