首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
设一组初始记录关键字序列为(13,18,24,35,47,5
[单选题]
设一组初始记录关键字序列为
(13
,
18
,
24
,
35
,
47
,
50
,
62
,
83
,
90
,
115
,
134),
则利用二分法查找关键字
90
需要比较的关键字个数为()。
1
2
3
4
查看正确选项
添加笔记
求解答(5)
邀请回答
收藏(111)
分享
7个回答
添加回答
1
Lance217
中间的50 ,然后右边剩余5个,刚好中间的就是90,所以2次
发表于 2020-03-20 06:32:39
回复(0)
3
自适应增强
第一次查找到50
第二次直接查到90
所以两次
发表于 2017-08-23 19:51:54
回复(0)
13
LQ_CZB
二分查找思想:
在有序表中取中间记录作为比较对象,若给定制与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区域进行查找;
若给定值大于中间记录的关键字,则在中间记录的右半区域进行查找;
题中关键序列有11个数,故中间记录为第6个数,即50,因50<90,故在50的右半区域进行查找,同理可得,右半区域的中间记录为90,故需查找两次
发表于 2017-12-09 23:27:34
回复(0)
3
牛客818246740号
<p>记得加一减一哈</p><p><br></p>
发表于 2020-06-30 18:53:26
回复(0)
1
代代★风渊
二分查找,不用再加上当前中间节点
发表于 2020-08-10 11:27:14
回复(0)
0
迹忆
一共11个数,最大数组下标为10,首先10/2,和下标为5的比较,+1;不是,5+10/2=7,和下标为7的比较,不是;7+10/2=8,确定,所以应该是3次
发表于 2020-04-22 23:37:41
回复(2)
0
初木。
13 ---- 134 -->50 第一次
62 ---- 134 -->90 第二次
发表于 2019-08-20 09:53:12
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
查找
上传者:
阿奻_
难度:
7条回答
111收藏
13525浏览
热门推荐
相关试题
明明的随机数
数组
评论
(3692)
来自
华为研发工程师编程题
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
有20000人的就餐需求,现建了一...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题