int Bin_search(int arr[], int len, int x)
{
//二分法查找,返回数据在数组中对应的下标值,若不存在,返回-1
//以循环方式实现
int left = 0;
int right = len - 1;
int mid = 0;
while (left <= right)
{
mid = left + (right - left) / 2;
if (arr[mid] == x){
return mid;
}
else if (arr[mid] < x){
left = mid + 1;
}
else{
right = mid - 1;
}
}
return -1;
}
int main(void)
{
int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int len = sizeof(arr) / sizeof(arr[0]);
printf("%d\n", Bin_search(arr, len, 5));
return 0;
}
想问一下,这个答案是中n代指啥
数据结构的时间复杂度
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Pliosauroidea 2021-09-11 20:27关注
时间复杂度的n一般是待排序数字的个数,这里应该可以看做是arr的长度
(你并没有贴出答案,但我猜应该是一个类似O(n^2)之类的形式)
**有帮助望采纳本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器