← 完整学习路线

UNIT 18 / 78 · U18

标准算法、谓词与比较器

本单元预计 4.5 核心小时。可以分成多个学习时段,按完整小节推进;停下来时留下输入、命令、结果和下一步。

时间包含阅读、编码与检查,是学习预算而非期限。打开此页只保存阅读位置,不代表通过验收。

01 / READ

先知道自己在观察什么

10.1 范围合同与操作次数 →

读完本小节全部正文与本节任务;先写状态/路径预测,再按该节的运行边界核对,不能只看标题或答案。

10.2 无自定义回调的算法 →

读完本小节全部正文与本节任务;先写状态/路径预测,再按该节的运行边界核对,不能只看标题或答案。

10.3 命名谓词与比较器 →

读完本小节全部正文与本节任务;先写状态/路径预测,再按该节的运行边界核对,不能只看标题或答案。

先备不清楚时,沿章节入口补读;不要依赖翻过页数判断进度。

02 / PREDICT & RUN

先留下自己的预测或独立尝试

先在笔记预测命名谓词对每个输入的判断,以及最终计数;再打开本节的named-count.cpp,按该节命令在自己的副本运行,保存预测、命令、实际结果与差异。

命名谓词逐项计数 →
源码下载与编译入口

下载到自己的练习目录。按本节给出的完整命令编译;多文件与driver要求见原任务。需要时查阅文件保存与编译操作 →

named-count.cpp

先保存预测,再核对正文标明的预期或诊断。完整构建、多文件与设备实验按原任务命令执行。

03 / CHANGE ONE THING

通过一个变动看清原因

按10.3对照any_of与count_if,只换所需问题;只在自己的副本修改,先保留独立预测。

修改后应观察到什么

按所链接小节的合同逐项比较修改前后结果;意外编译成功/失败、未执行检查或不满足的边界均不能记作通过。

04 / DO IT YOURSELF

换一组条件,独立解决

独立完成10.2接口检查表与10.3比较器反例,空范围也要检查;关闭完整答案后重新完成。

用这些条件检查自己的实现

  • 留下自己的源码或纸面状态表、输入与独立期望;非法访问题不靠运行猜答案。
  • 按指定小节核对正常与边界/拒绝路径;保留失败与修复记录,不用教材检查收据替代本人完成。
05 / EXPLAIN & CHECK

用证据决定是否进入下一单元

  1. 不看代码,说明命名谓词对每个输入的判断,以及最终计数。
  2. 指出本单元一次失败的最早原因,并解释检查能够和不能够证明什么。

本单元的验收依据

本单元所列完整小节、独立任务和两条复述均有本人证据;阅读位置、展开答案与教材示例运行不自动通过。

留下自己的代码或推演、测试输入、真实输出和仍不确定的问题。未达到要求时,下一次继续本单元。