← 题途
← 免费知识库
题途原创整理 · 免费阅读

二分查找:为什么必须先满足有序条件

检查中间元素,缩小范围;把前提条件写在算法前面。

对按升序排列的数组进行二分查找时,先比较目标值与中间元素。相等则找到;目标更小则保留左半区间;目标更大则保留右半区间。重复这一过程,直到找到目标或区间为空。

例如在 [2, 5, 8, 11, 14] 中查找 11,先看中间的 8。11 大于 8,因此只需继续检查右侧的 [11, 14],不必回头扫描左侧。

关键前提是有序。未排序的数据不能直接按大小比较后舍弃一半,否则可能丢掉目标元素。

与二分查找不同,顺序查找逐一检查元素,不要求数据有序。不要把“查找方式”和“排序方式”混为一谈。

本篇讨论数组的基础查找过程。含重复元素时,普通二分查找找到一个匹配位置,并不天然保证是第一个或最后一个,需要额外处理边界。

理解概念,再用练习巩固

免费练习覆盖本知识库的基础内容,无需登录。

开始免费练习 →