首页
题库
面试
求职
课程
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
对于数列4、5、6、7、9、12、18、23,如果采用折半查
[单选题]
对于数列4、5、6、7、9、12、18、23,如果采用折半查找元素9,请问需要查找几次?()
2
3
4
5
查看正确选项
添加笔记
求解答(0)
邀请回答
收藏(63)
分享
5个回答
添加回答
2
CodeParty
注: n 代表数组长度
4、5、6、7、9、12、18、23
1) Array[(0 + n - 1) / 2] 小于 9,
(0 + n - 1) / 2 = 3
2) Array[(3 + 1 + n - 1) / 2] 大于 9,
(3 + 1 + n - 1) / 2 = 5
3) Array[(3 + 1 + 5 - 1) / 2
] 等于 9
所以, 一共3次
发表于 2021-09-05 18:00:14
回复(1)
1
Tanix
初始
4、5、6、7、9、12、18、23
1) mid=7,
7、9、12、18、23
2) mid=12,
7、9、12
3) mid=9, 结束
因此答案为3
发表于 2022-08-25 15:14:22
回复(0)
0
卡达菲
这是不是取决于二分查找的实现呀,使用相同元素取最右的元素的这种二分只需1次
发表于 2023-09-29 16:17:25
回复(0)
0
头文字F
每次查找的位置:(start + end)/2,这里的start从0开始取值
每次查找的过程:先判断是否相等,若相等则结束;若不相等,则根据其大小决定向前或向后查找
发表于 2021-08-02 17:01:13
回复(0)
0
牛客982931248号
B
发表于 2021-06-03 21:14:54
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
PHP工程师
百度
2020
Java工程师
上传者:
小小
难度:
5条回答
63收藏
3694浏览
热门推荐
相关试题
仅用O(1)的空间,将整数数组按奇...
百度
2011
C++
Java
编程基础
Java工程师
C++工程师
评论
(25)
来自
百度2011研发工程师笔试卷
百度Spider如何在不超过抓取限...
百度
2011
系统设计
Java工程师
C++工程师
评论
(7)
来自
百度2011研发工程师笔试卷
判断一个括号字符串是否匹配正确,如...
百度
2011
栈
Java工程师
C++工程师
评论
(34)
来自
百度2011研发工程师笔试卷
下列UML图中不是UML2规范新增...
UML
评论
(1)
()不是UML体系的组成部分。
UML
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题