#JC1027. 二分算法

二分算法

一、单项选择题(每题2分,共20分)

1、二分算法的核心思想是?()。 {{ select(1) }}

  • 遍历范围内每一个数字逐个判断
  • 每次将数据范围一分为二,舍弃一半无效范围
  • 使用双层循环完成排序
  • 通过差分计算区间修改

2、二分算法中,mid=(L+R)/2,mid代表的含义是?()。 {{ select(2) }}

  • 查找范围的最小值
  • 查找范围的最大值
  • 查找范围的中间值
  • 查找目标数字

3、二分查找循环继续执行的条件while(L<=R),其中L和R分别是?()。 {{ select(3) }}

  • L中间值,R中间值
  • L范围最小值,R范围最大值
  • L目标数,R目标数
  • L计数变量,R计数变量

4、二分查找时,如果中间值mid大于要找的数字num,下面操作正确的是?()。 {{ select(4) }}

  • L = mid + 1
  • R = mid - 1
  • L = mid - 1
  • R = mid + 1

5、在1~100范围用二分猜数字,最多需要多少次就一定可以找到目标?()。 {{ select(5) }}

  • 100次
  • 50次
  • 7次
  • 27次

6、二分查找,如果mid < num,应该执行下面哪一行代码?()。 {{ select(6) }}

  • R = mid‑1
  • L = mid+1
  • mid = L+R
  • break;

7、范围1~1亿,使用二分算法查找数字,最多查找次数为?()。 {{ select(7) }}

  • 7次
  • 27次
  • 10000次
  • 100000000次

8、字典找字题目,查找范围L=15,R=45,第一次mid计算结果是?()。 {{ select(8) }}

  • 15
  • 30
  • 45
  • 60

9、下面哪一个不属于二分算法里的三个关键值?()。 {{ select(9) }}

  • L最小值
  • R最大值
  • mid中间值
  • s计数前缀和

10、二分猜数字代码中,当mid == num,执行break语句作用是?()。 {{ select(10) }}

  • 直接结束整个程序
  • 跳出while循环,代表已经找到数字
  • 让L自动加1
  • 让R自动减1

二、判断题(每题2分,共10分)

11、二分算法每次查找都会直接遍历全部候选数字。() {{ select(11) }}

  • 正确
  • 错误

12、二分查找循环条件写while(L<=R),当L大于R时循环结束。() {{ select(12) }}

  • 正确
  • 错误

13、mid=(L+R+1)/2也是二分求取中间值的一种写法。() {{ select(13) }}

  • 正确
  • 错误

14、中间值mid大于目标数字num时,需要修改L的值。() {{ select(14) }}

  • 正确
  • 错误

15、二分算法相比于逐个枚举,大数据范围下查找效率更高。() {{ select(15) }}

  • 正确
  • 错误