# 书屿算法附录手算：用三个虚构输入核对每步状态

语言：zh-CN
原文：[书屿算法附录手算：用三个虚构输入核对每步状态](<https://allluckly.cn/guides/nasbook-appendix-algorithm-handtrace/>)
中文：[中文 HTML](<https://allluckly.cn/guides/nasbook-appendix-algorithm-handtrace/>)
English: [English HTML](<https://allluckly.cn/en/guides/nasbook-appendix-algorithm-handtrace/>)
发布于: 2026-11-04T00:00:00+08:00
内容更新于: 2026-11-04T00:00:00+08:00
署名：Bison

把附录步骤转成可检查的状态记录，以二、五、三的示例手算最大值过程，分清原书规则与个人测试。

读懂算法附录，不只是在旁边写一句看懂了。本篇在书屿阅读步骤说明，再用纸笔或外部清单记录每轮输入、判断和状态。二、五、三只是自设教学示例，不冒充某本真实附录的数据；书屿不执行程序、不自动验证算法正确性，计算与核对都由读者手工完成。

## 先把实际附录范围和前提读清

选一段自己有权阅读、步骤较短的算法说明，记录书名版次、附录标题和具体位置，先完整读输入、输出与限制。分清伪代码、自然语言解释和示例，不把印在正文里的代码当应用可以运行的功能。若步骤依赖前文定义，先回去核对变量含义，再开始手算。本篇演示从非空数字序列找最大值，只在你实际阅读的规则确实相同时才能用于对照；原书是排序或别的任务，应另列符合原规则的小例子，不能把两种算法混为同一过程。

## 给教学输入和目标写清身份

在自己的清单写输入依次二、五、三，目标返回最大数值，不返回位置，也不要求重新排序。顺序要保留，不先把它排成二三五再声称照原次序执行。注明这些数由自己设定，原书未提供这一例时不要用引号或书页来源把它伪装成作者演示。只处理普通可比较数，不引入空值、缺失值或特殊表示。三项足以观察候选更新与不更新两种情况，先让任务边界小而明确，再考虑更复杂输入，避免一次加入过多规则后看不出哪一步造成差异。

## 先定初始化与每轮记录字段

本例规则为先取第一项作候选，再从第二项开始逐个比较，遇到更大值才替换候选。先写候选二、下一待看位置二，以及尚未比较的五和三，初始化不算一次与自身比较。记录字段包括轮次、当前输入、比较前候选、条件真假、比较后候选和已处理范围，可在外部列表写，不假定阅读器有算法跟踪表。若实际附录采用另一种初始化，应按原文另做记录，尤其不能擅自用零作为所有输入都适用的起始最大值，负数情况会暴露这种错误。

## 逐轮写判断并保留未变化状态

第一轮读第二项五，比较五是否大于候选二，结果真，候选更新为五，已处理前两项。第二轮读第三项三，比较三是否大于五，结果假，候选仍五，已处理全部三项。不要省略第二轮，以为没变化就没有发生步骤；保留不更新状态才能解释为什么最后不是三。两轮与三项输入的数量关系来自本例先取首项的规则，不能套到所有循环。每写一行回附录检查条件方向、读入位置与更新顺序，不用最终答案碰巧对了代替过程正确。

## 用已处理范围检验候选含义

每轮结束问候选是否等于目前已看数里的最大值，第一轮是二和五中的五，第二轮是二五三中的五。这里检验的是本次有限手算，不等于已经证明算法对所有序列正确。把停止条件也写清，本例没有第四项，因此输出候选五，不再多读一次未知值。若想理解一般性证明，应另外阅读原书关于不变式与终止的论述，不把自己的三行表称为严格证明。读者能用记录解释每次保留或替换的依据，才算这次步骤理解完成，而不是只记住最大值这个结果。

## 另做反例测试时一项只改一处

在独立副本把输入换成负二、负五、负三，仍从首项开始，应依次保留负二并输出负二，用来检查有没有错误从零起步。再想研究相同最大值，可另设五、五、三，严格大于时候选数值仍五，但若任务还要求位置，就必须读原书如何处理平局，本篇没有定义位置输出。空序列不满足非空前提，标超出本例范围，不猜系统会返回零。每份测试写自己的输入与预期，不覆盖原三项记录，更不声称这些少数例子足以排除全部程序缺陷。

## 笔记同时保留原文定位与手算身份

在当前可用笔记中记附录位置、规则摘要与外部手算记录名称，能选文字时只摘必要条件，个人输入与结论明确另标。扫描页不能选择时手工记章节和图像页，不能伪造精确文本锚点。离开后只靠记录返回原步骤，检查自己是否漏了初始化或终止条件。重要笔记按当前能力导出并在外部打开确认，原书与手算清单分别保存，笔记文件不代替完整书籍。记录标题写手工跟踪及日期，之后真正编程实现是另一项工作，不能把阅读记录标成应用执行日志。

## 答案不一致先比较最早分歧行

自己的结果不是五，先逐行找候选首次不同处，查条件是否写反、是否把保留候选误成总换当前值，或漏读某项。若答案对而轮数不对，回初始化和已处理范围核对，不凭结果判全部正确。原书示例与本例不同先比输入和前提，不急着断言作者算错。读不清符号则放大原文或核对正版来源，不能凭猜测续算。最终记录要能还原输入、规则、每轮状态和停止原因，仍有疑问列具体行待核，算法阅读的收获来自可解释过程，而非应用替你给出未经验证的答案。

## 相关教程与资料

[书屿论证拆读：把作者主张、证据和推理连接分开](<https://allluckly.cn/guides/nasbook-claim-evidence-bridge/>)、[书屿图表编号核对：让图号、页码与阅读笔记对应](<https://allluckly.cn/guides/nasbook-figure-number-notes/>)。

资料核对：2026 年 11 月 4 日，书屿 1.1.3，最低要求 iOS / iPadOS 15.6。功能范围依据[官方 App Store 说明](<https://apps.apple.com/cn/app/id6766198898>)与[Apple 公开版本查询](<https://itunes.apple.com/lookup?id=6766198898&country=cn>)。本文提供自行执行的练习和检查，未声明已在真机或所有目标环境逐项实测；示例内容为教学设定，具体控件以安装版本为准。

