二分法顺序查找某个值
程序员文章站
2024-03-19 15:15:34
...
/*
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为底)
上一篇: 解决安装tensorflow的问题
推荐阅读
-
二分法顺序查找某个值
-
C语言实习二分法查找代码和顺序查找代码
-
二分法查找,返回有序数组中第一个大于给定值的元素的索引
-
二分法查找顺序数组(C语言实现)
-
有序数组查找算法:二分法和插值法
-
在一个有序(增序)数组中查找具体的某个数字n 与二分法查找算法
-
Java查找不重复无序数组中是否存在两个数字的和为某个值
-
Java查找不重复无序数组中是否存在两个数字的和为某个值
-
sqlserver2008查找某数据库中的列是否存在某个值 博客分类: sqlserver SQL Server
-
有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中 第几个元素的值。如果该数不在数组中,则输出“无此数”。