#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 + 1R = mid - 1L = mid - 1R = mid + 1
5、在1~100范围用二分猜数字,最多需要多少次就一定可以找到目标?()。 {{ select(5) }}
- 100次
- 50次
- 7次
- 27次
6、二分查找,如果mid < num,应该执行下面哪一行代码?()。
{{ select(6) }}
R = mid‑1L = mid+1mid = L+Rbreak;
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) }}
- 正确
- 错误