Question 9

二分查找比较次数

假设有序表中有 1000 个元素,则用二分法查找元素 X 最多需要比较多少次?

单项选择2难度 基础

正确答案

B. 10

一句话考点

二分查找的最大比较次数大约是 `ceil(log2 n)`。

查找复杂度二分查找

Prompt

题目与选项

假设有序表中有 1000 个元素,则用二分法查找元素 X 最多需要比较多少次?

A. 25

B. 10

C. 7

D. 1

Quick Check

做题抓手

先判断题型

先定位知识点,再决定是公式套用、手推样例还是结构重建。

再核对边界

第一轮很爱在闭区间、下标偏移、递归终止条件和布尔返回值上设陷阱。

最后看输出层次

尤其是阅读程序题,要分清函数返回值、变量值和最终打印值是不是同一件事。

Explanation

详细讲解

  1. Step 1

    二分查找每比较一次,待查区间大约缩小一半,因此最多比较次数和 `log2 n` 同阶。

  2. Step 2

    因为 `2^9 = 512 < 1000 <= 1024 = 2^10`,所以 1000 个元素最多比较 10 次就能定位或确认不存在。

  3. Step 3

    因此正确选项是 B。

Pitfalls

易错点

  • 把比较次数错看成 `log10 n` 或者直接记成 7、8 这种经验值。
  • 忽略“最多”二字,没有做上取整判断。

Extend

拓展补充

  • 如果元素个数是 `2^k`,则最多比较次数通常就是 k 或 k + 1,具体和实现细节有关,但第一轮通常按上取整处理。

返回总览

回到整套试卷

返回题目总览页,继续从目录、知识图谱或其他分区进入。

所属分区

返回 单项选择

回到首页对应分区,继续顺序刷题或查看同类知识点。

上一题

第 8 题

字符运算

下一题

第 10 题

操作系统识别