跳到正文

循环不变量与伪代码正确性

42 分钟

本课目标

本课训练“循环不变量与伪代码正确性”。你需要产出可检查的复试材料,并能在追问下说明信息来源、技术机制、设计取舍与事实边界。

一、严格结论

伪代码不仅描述步骤,还应给循环不变量、初始化、保持和终止论证;不变量说明每轮开始时已经成立什么,是从局部执行到整体正确的桥梁。

复试不是关键词背诵。任何结论都要区分已知事实、合理假设和个人判断;涉及院校安排时记录来源与日期,涉及技术结论时写清条件与失败边界,涉及个人经历时区分本人和团队贡献。

二、执行流程

先写循环开始前的不变量,再证明一次迭代维持它,最后结合终止条件推出后置条件;同时检查索引范围和空输入。

练习时先限时作答并录音,再逐句标注:这一句回答了什么;证据是什么;若删除它是否影响结论。没有信息增量的套话应删去,缺少证据的强主张应降级或补证。

三、追问案例

二分查找可用不变量“若目标存在,则位于闭区间[l,r]”。每次比较后缩小区间,并证明不会丢掉可能位置。

处理案例时采用“结论先行—机制展开—证据验证—边界收束”。面试官继续追问时,从当前答案的假设、复杂度、故障或替代方案展开,不突然切换到无关知识点。

四、本课产物

一段不依赖具体语言的伪代码和三段正确性证明。

产物必须能够在下一次模拟中直接使用,并保留版本与日期。完成后请让同伴只依据产物追问三轮;若第三轮只能靠猜测回答,就在文档中明确知识缺口与补课动作。

五、高风险误区

典型失分是:只因为样例运行正确,就宣称算法对所有输入正确。 纠正它的方法不是增加套话,而是补齐来源、条件、证据和个人责任边界。

六、在线验收

单选检查唯一严格结论,多选检查必要流程,应用问答要求把本课两个关键词用于具体案例。问答同时保存三层评分细则与参考作答,便于模拟面试后复盘。

Practice

本课练习

4

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

1复试单选:循环不变量与伪代码正确性 3

关于“循环不变量与伪代码正确性”,下列哪项最严格?

登录 后答题可以领小红花
2准备流程多选:循环不变量与伪代码正确性 3

完成“循环不变量与伪代码正确性”训练时,哪些步骤不可省略?(多选)

多选题:必须选全正确项,漏选或多选均不得分。

登录 后答题可以领小红花
3应用问答:循环不变量与伪代码正确性 3

情境:二分查找可用不变量“若目标存在,则位于闭区间[l,r]”。每次比较后缩小区间,并证明不会丢掉可能位置。

请用100—180字给出你的现场回答或处理方案,必须说明证据/条件与下一步动作。

登录 后答题可以领小红花
4复试机试:首次出现位置 5

输入升序数组和目标 x,输出 x 第一次出现的 0-based 下标,不存在输出 -1。

使用 Python 3,从标准输入读取并写到标准输出。

登录 后答题可以领小红花