首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
对有序数组{2、11、15、19、30、32、61、72、8
[单选题]
对有序数组{2、11、15、19、30、32、61、72、88、90、96}进行二分查找,则成功找到15需比较()次
3
4
2
5
添加笔记
邀请回答
收藏(820)
分享
16个回答
添加回答
66
推荐
zt_xcyk
C
0 1 2 3 4 5 6 7 8 9 10
2、11、15、19、30、32、61、72、88、90、96
第一次 index=(0+10)/2=5 对应32 ; 比15大 所以下次范围是 0到4
第二次 index=(0+4)/2=2 对应15 找到
编辑于 2015-10-04 15:01:14
回复(1)
37
北窗
需要两次
第一次折半查找找到的是第六个数据即32 并且32>15 所以在左半段查找
这第二次折半查找找到第三个数据,这第三个数据刚好是15,即返回。
需两次
发表于 2015-10-03 14:08:19
回复(1)
23
牛客477144号
C,
二分查找第一次:index=(0+length-1)/2
第二次:index'=(0+index-1)/2
发表于 2015-10-03 23:07:26
回复(0)
21
牛客550134号
向下取整
发表于 2015-10-23 17:08:38
回复(0)
18
牛客-007
答案:C
序列***11个数据,
第一次比较下标为11/2=5的元素32
第二次比较下标为5/2=2的元素15,得到要查找的数
发表于 2015-01-13 12:51:21
回复(0)
6
牛客315366号
只说一点,数组是从下标0开始,index=array.length/2,若index=5,不是指第5个元素,而是指数组下标为5的元素
发表于 2016-08-25 11:26:28
回复(0)
5
sunwuyi
答案:C
序列***11个数据,
第一次比较下标为11/2=5的元素32
第二次比较下标为5/2=2的元素15,得到要查找的数
发表于 2018-10-12 08:42:40
回复(0)
4
周gege
#向下取整
1、A[11/2]=A[5]=32
2、A[5/2]=A[2]=15
发表于 2020-08-15 10:20:10
回复(0)
3
nickhu
我有点不清楚哈,但在代码中,两次比较能得出来吗?比如我们在第一次比较的时候,如果使用>a[index]作为判定条件的话,那么第二次选中15时,难道不会因为>a[index]条件不满足而跳刀第三次的比较=a[index]这个判定条件吗?这样的话难道不是3次比较吗?希望有人能解答一下哈
发表于 2016-05-11 16:46:43
回复(1)
2
牛客2851439号
刚开始时第一个元素和最后一个元素不与15比较吗,求解
发表于 2016-09-18 23:55:31
回复(3)
0
frankfurt202304111049966
二分查找: index = (left -right)/2
发表于 2023-04-11 11:13:30
回复(0)
0
已注销
问题只与下标有关
发表于 2022-10-10 13:16:46
回复(1)
0
牛客424694280号
奇数的时候:就是中间值偶数的时候:取n/2取整,实际上剩下的序列是 索引为取整左边的序列。
发表于 2022-09-20 11:49:42
回复(0)
0
辉小歌
两次 1. (0+10)/2 =5 找到32 往左边找 2. (0+5)/2 =2 找到15
发表于 2022-08-06 13:12:48
回复(0)
0
牛客818246740号
<p>这是成功找到的次数</p>
发表于 2020-06-30 11:34:01
回复(0)
0
许愿OFFER6
二分查找:折半查找
发表于 2020-03-04 13:21:54
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数组
腾讯
查找
上传者:
Will~原来而已
难度:
16条回答
820收藏
21074浏览
热门推荐
相关试题
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
下列关于卫星通信的说法,错误的是
网络基础
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题