刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

面试题

给定一组初始记录关键字序列(已排序),序列为(13,18,24,35,47,50,62,83,90,115,134),请利用二分查找法查找关键字90,需要比较多少次才能找到该关键字?

使用微信搜索喵呜刷题,轻松应对面试!

答案:

解答思路:

二分查找是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果目标元素大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且同样从中间元素开始比较。重复上述过程直到找到目标元素或者搜索区间为空。所以对于本题,我们需要根据给定的序列和二分查找的规则来计算找到关键字90需要比较的关键字个数。

最优回答:

首先,我们需要明确这是一组有序序列,然后我们可以采用二分查找法来查找关键字90。假设我们在第i次比较后将查找区间缩小为原来的1/2,那么比较次数可以通过log2(n)来计算,这里的n是序列的长度。在本题中,序列长度为11,所以我们需要计算log2(11)的结果并四舍五入得到比较次数。但实际上,由于初始序列的具体排序情况并未给出(例如是否是完全二分排序),实际比较次数可能会因序列的具体情况而有所不同。所以我们需要按照二分查找的实际操作来计算,从序列的中间开始逐步缩小查找范围,直到找到关键字90为止。因此,需要比较的关键字个数需要通过实际计算得出。

创作类型:
原创

本文链接:给定一组初始记录关键字序列(已排序),序列为(13,18,24,35,47,50,62,83,90,

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share