对22个记录的有序表做折半查找,当查找失败时,至少要比较 _______ 次关键字。

 我来答
水果山猕猴桃
高能答主

2020-12-26 · 经不住似水流年,逃不过此间年少
水果山猕猴桃
采纳数:519 获赞数:110507

向TA提问 私信TA
展开全部

至少要比较4次关键字。

16<=22<31
所以查找失败时至少比较4次。这个值就是从折半查找判定树的情况推导出来的,上面4层是一个满二叉树,树高5层。

扩展资料:

折半查找法是效率较高的一种查找方法。假设有已经按照从小到大的顺序排列好的五个整数a0~a4,要查找的数是X。

其基本思想是: 设查找数据的范围下限为l=0,上限为h=4,求中点m=(l+h)/2,用X与中点元素am比较,若X等于am,即找到,停止查找;否则,若X大于am,替换下限l=m+1,到下半段继续查找;若X小于am,换上限h=m-1,到上半段继续查找;如此重复前面的过程直到找到或者l>h为止。如果l>h,说明没有此数,打印找不到信息,程序结束。

参考资料来源:百度百科-折半查找法

133******50
2022-05-31 · TA获得超过239个赞
知道答主
回答量:25
采纳率:0%
帮助的人:4798
展开全部
应该是5次吧,树高应该是log2(22)也就是4次,但是还有一次是判断最后一次是不是NULL指针,如果是NULL就是失败,应该是log2(22)向下取整加一
个人拙见,如果有错误欢迎提出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chiconysun
推荐于2017-09-11 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2583万
展开全部
16<=22<31
所以查找失败时至少比较4次
更多追问追答
追问
能具体一点吗?谢谢!
追答
这个值就是从折半查找判定树的情况推导出来的,上面4层是一个满二叉树,树高5层
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式