GESP 五级 · GESP 202409 C++ 五级 第 23 题

判断题 · 答案 A · 考点:二分查找、算法

← 整套速查表 GESP 五级 全部真题

题目

二分查找要求被搜索的序列是有序的,否则无法保证正确性。

答案:A

考点

二分查找 讲解 →二分查找 真题汇总 →算法

解题思维

二分查找每次将搜索范围减半,仅适用于有序序列。注意边界条件的处理(左闭右开或左闭右闭)。

常见错误

二分查找的边界条件极易出错。建议统一使用左闭右闭[left,right]或左闭右开[left,right),每次循环都要缩小范围。

详细解析(节选)

【考点】二分查找|有序性假设|算法正确性条件

考纲:GESP 五级《算法初步》。命题人卡住'二分查找=有序'这个前置条件认知盲区——很多学生以为只要 mid=(l+r)/2 就能用,不读题就选错。这题本质考的是'二分查找的单调性前提'。

思考链:二分是'猜中间'——每次把搜索区间折半,前提是折半后目标一定在左或右。若无序,折半就失去方向性,可能跳过目标,甚至把目标误判为不存在。核心观察:二分每次比较 mid 和 target 决定方向,依赖的是'单调性'而非'值大小'。

A 正确。命题人绝对化表述'否则无法保证正确性'——无序时二分可能直接跳过目标,甚至进入死循环。如果你以为'只要调整 mid 计算就能用',就会掉进陷阱。常见的错误是认为'只要 mid 计算正确,二分就能用'。

反命题:若改成'二分查找要求有序,否则可能失败',答案就变 B。刷题先问'命题人想考我什么'——这里考的是前提条件,不是实现细节。如果题目改成'二分查找在无序数组上一定能找到目标',那答案就是 B。先判断命题的绝对化程度。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断