课程 285 / 365
78%
正文已完成
L285查找不是只看速度,还要看前提
比较线性查找、映射查找与二分查找的输入条件和维护成本。
“二分查找更快”只在数据已按目标字段排序且能随机访问时成立;映射查找也依赖稳定键和额外索引。先检查前提,再谈速度,能避免为了偶尔查询付出持续维护成本。
能根据是否有序、是否有稳定键和更新频率选择基础查找方式。
核心概念
先把关键判断说清楚
线性查找前提最少
从头逐项检查无需预处理,适合小集合、一次性任务或查询条件经常变化的场景。
二分查找依赖有序
每次排除一半范围很高效,但排序字段必须与查找条件一致,并保持顺序。
映射查找依赖键和空间
按唯一键读取通常很快,但需要建立索引、占用空间并在数据变化时同步维护。
案例拆解
200 条配置为什么不必先排序
脚本启动时只检查一次 200 条配置中是否存在废弃字段,团队计划先排序再用二分查找。
- 01
确认任务只执行一次,且查找条件是多个可能变化的字段名。
- 02
直接线性遍历并对每条执行规则检查,不增加排序步骤。
- 03
只有当同一集合被大量重复按固定键查询时,才考虑建立 Set 或映射。
案例结果
实现更短且总工作量更低,没有为一次查询维护不必要的顺序。
提交前练习
现在轮到你
为一项真实查找任务选择线性、二分或映射查找。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
问题是每天按 SKU 查询同一份 5 万商品表数千次;前提是SKU 唯一但原表按更新时间排列;方法是启动时建立 SKU→商品映射,保留原列表顺序,后续按键读取。
评分标准
- 查找条件具体
- 前提检查完整
- 选择考虑了预处理和维护成本
本课收口 · 学习证据
完成,不等于随手打一个勾。
确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。
02完成本课练习0 / 3 项必填内容已填写
03通过理解检查约 30 秒
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- MDN Web Docs↗reference · 核对日期 2026-08-23