收藏 分享(赏)

循环不变式.doc

上传人:hskm5268 文档编号:9275193 上传时间:2019-07-31 格式:DOC 页数:2 大小:32KB
下载 相关 举报
循环不变式.doc_第1页
第1页 / 共2页
循环不变式.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、循环不变式一 般 而 言 ,用 这 个 式 子 表 示 希 望 得 到 的 结 果 ,如 果 在 循 环 的 每 一 步 ,这 个式 子 都 是 正 确 的 ,那 么 循 环 结 束 后 ,这 个 式 子 也 正 确 ,并 得 到 了 期 望 的 结 果 . lenovo 所 引 用 的 文 章 里 的 例 子 是 这 样 的 : QUOTE: apvector list(n); / n is some positive integer int k, indexMax; indexMax = 0; for(k = 1; k listindexMax) indexMax = k; 这 是 一 个

2、 很 简 单 的 求 最 大 值 (在 数 组 中 的 下 标 )的 问 题 ,在 循 环 内 / invariant true here 处 可 以 指 明 始 终 成 立 的 不 变 式 为 : QUOTE: 在 当 前 的 k 之 前 , 最 大 值 的 下 标 是 indexMax, 而 且 0=indexMaxk 可 以 看 出 这 个 式 子 在 整 个 循 环 过 程 中 是 始 终 成 立 的 ,所 以 在 循 环 结 束 的时 候 (k=list.length(),这 个 式 子 也 成 立 , 即 : QUOTE: 在 整 个 list 中 ,最 大 值 的 下 标 是 i

3、ndexMax, 而 且0=indexMaxlist.length() 这 就 是 我 们 期 望 得 到 的 结 果 ,也 就 是 说 我 们 得 到 了 最 大 值 的 下 标 循 环 不 变 式 有 3 个 性 质 : 初 始 化 : 在 第 一 次 循 环 前 是 正 确 的 保 持 : 在 循 环 迭 代 中 是 正 确 的 终 止 : 当 循 环 结 束 时 也 是 正 确 的 根 据 循 环 不 变 式 的 3 个 特 性 , 再 结 合 归 纳 法 , 证 明 我 们 写 的 循 环 是 正 确滴 。 一 句 话 : ,如 果 在 循 环 的 每 一 步 ,这 个 式 子 都

4、是 正 确 的 ,那 么 循 环 结 束 后 ,这个 式 子 也 正 确 算 法 导 论 中 的 循 环 不 变 性 (loop invariant) 算法导论第二章中的原文是:We state these properties of A1 j -1 formally as a loop invariant。其中举的例子是插入排序,每次循环从数组 A中取出第 j 个元素插入有序区 A1 j-1,然后递增 j。这样 A1 j-1的有序性始终得到保持,这就是所谓的“循环不变”了。 这个概念主要用来检验算法的正确性。原文如下: We use loop invariants to help us un

5、derstand why an algorithm is correct. We must show three things about a loop invariant: Initialization: It is true prior to the first iteration of the loop. Maintenance: If it is true before an iteration of the loop, it remains true before the next iteration. Termination: When the loop terminates, the invariant gives us a useful property that helps show that the algorithm is correct. 1. 初始化(循环第一次迭代之前)的时候, A1 j -1的“有序性”是成立的; 2. 在循环的每次迭代过程中, A1 j -1的“有序性”仍然保持; 3. 循环结束的时候, A1 j -1的“有序性”仍然成立。 另外,我个人认为应该翻译为“循环不变性”,“循环不变式”是一种误导。因为这是一种性质,一种属性(property),而不是表达式。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报