计算机考研408每日一题 day29

408的四门科目不谈最重要的数据结构与算法,其他的比如OS的进程管理和内存管理,计网中老生常谈的TCP/IP模型,计组中数据的表示等等,每一个都是一名合格的程序员应该重点掌握的内容。

所以:虽然你不一定考研,但跟着做题加深理解总没错的 ✔

每天都会更新2~3篇直到追上进度(上次一天更了10篇),欢迎关注我和我的专栏。

习题来源于@王道微博

解析都是我自己写的,如有问题或错漏烦请评论告知。

🌴数据结构

若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为____(中国科学院大学2012)

A. 1,2,3
B. 9,5,2,3
C. 9,5,3
D. 9,4,2,3

答案及解析

答案:D

🔊 折半查找的基本思想是:

  1. 首先以整个查找表作为查找范围,用查找条件中给定值k与中间位置结点的关键字比较,若相等,则查找成功。否则转2。
  2. 根据比较结果缩小查找范围,如果k的值小于关键字的值,根据查找表的有序性可知查找的数据元素只有可能在表的前半部分,即在左半部分子表中,所以继续对左子表进行折半查找,否则转3。
  3. 若k的值大于中间结点的关键字值,则可以判定查找的数据元素只有可能在表的后半部分,即在右半部分子表中,所以应该继续对右子表进行折半查找。
  4. 每进行一次折半查找,要么查找成功,结束查找,要么将查找范围缩小一半,如此重复,直到查找成功或查找范围缩小为空即查找失败为止。

既然是有序列第一个元素放A[1]中,现进行二分查找 1 + 18 2 = 9 \frac{1+18}{2} = 9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mancuoj

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值