首页 > 试题广场 >

针对二分查找算法,假设一个有序数组有 136 个元素,那么要

[单选题]
针对二分查找算法,假设一个有序数组有 136 个元素,那么要查找到第 10 个元素, 需要比较的元素为
  • 68,34,17,9,13,11,10
  • 68,34,17,8,12,10
  • 69,35,18,10
  • 68,34,18,9,13,11,10
佛了,最讨厌这种说明不清楚的问题。。。下标还是第x个元素。。。。没有第0个元素是不。。。
发表于 2018-12-06 19:45:41 回复(1)
mid=low+((high-low)/2)
发表于 2018-12-07 12:10:25 回复(2)
1. 二分查找步骤分析 - 对于有136个元素的有序数组,第一次查找中间位置为(1 + 136) / 2 = 68.5,向下取整是68。 - 要找第10个元素,它小于68,新的查找区间是前半段1 - 67。 - 此区间中间位置是(1 + 67) / 2 = 34,第10个元素小于34,新区间变为1 - 33。 - 接着中间位置是(1 + 33) / 2 = 17,第10个元素小于17,区间变为1 - 16。 - 此时中间位置是(1 + 16) / 2 = 8.5,向下取整是8,第10个元素大于8,区间变为9 - 16。 - 新中间位置是(9 + 16) / 2 = 12.5,向下取整是12,第10个元素小于12,区间变为9 - 11。 - 最后中间位置是(9 + 11) / 2 = 10。 所以答案是B。
发表于 2024-11-02 15:55:48 回复(0)