问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

循环不变式的性质

发布网友 发布时间:2022-10-01 09:49

我来回答

1个回答

热心网友 时间:2024-08-23 19:37

一般而言,用这个式子表示希望得到的结果,如果在循环的每一步,这个式子都是正确的,那么循环结束后,这个式子也正确,并得到了期望的结果.
lenovo所引用的文章里的例子是这样的:
QUOTE:
apvector<int> list(n); // n is some positive integer
int k, indexMax;
<code which assigns values to all entries in list>
indexMax = 0;
for(k = 1; k < list.length(); k++){
// invariant true here
if (list[k] > list[indexMax])
indexMax = k;
}
这是一个很简单的求最大值(在数组中的下标)的问题,在循环内// invariant true here 处可以指明始终成立的不变式为:
QUOTE:
在当前的k之前, 最大值的下标是indexMax, 而且0<=indexMax<k
可以看出这个式子在整个循环过程中是始终成立的,所以在循环结束的时候(k=list.length()),这个式子也成立,
即:
QUOTE:
在整个list中,最大值的下标是indexMax, 而且0<=indexMax<list.length()
这就是我们期望得到的结果,也就是说我们得到了最大值的下标
根据循环不变式的3个特性,再结合归纳法,证明我们写的循环是正确滴。
一句话:,如果在循环的每一步,这个式子都是正确的,那么循环结束后,这个式子也正确
算法导论中的循环不变性(loop invariant):
初始化:在循环的第一轮迭代前是正确的;
保持:如果在循环的某一次迭代开始之前是正确的,那么在下一次迭代开始之前,也是正确的;
终止:当循环结束,不变式给了我们一个有用的性质。
当头两个性质成立时,就能保证循环不变式在循环的每一轮迭代开始之前,都是正确的,有关循环不变式的第三项可能是最重要的,因为我们是用不变式来证明算法的正确性。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 循环不变式的定义 长沙iphone维修点有哪些 iphone长沙维修点有哪些 什么是循环不变式 哈尔滨敬老院或老年公寓电话 北京市昌平区北七家镇奥北对面的养老院电话是多少 滨州敬老院联系电话 为什么安康码显示服务端错误 《夏洛的网》读后感400字 伤感的2021最后一天的说说心情 2021年最后一天心情感言说说 2021年最后一天心情感言经典说说 四年级游北京作文 游圆明园一句话感悟 关于游圆明园的句子 刷了乳胶漆还能贴墙布吗 乳胶漆什么牌子好 买方违约合同应该怎么解除 国防科大公共事业管理是什么 于正自曝《延禧攻略2》已在创作,你是否期待续集的开拍? 长虹电视屏幕不亮? 长虹电视电源亮但屏幕不亮 长虹电视屏幕不亮 循环不变式的介绍 (算法)到底应该怎么学? 酒店怎么接旅游团?该怎么去寻找旅游团 人生不是满满的一杯水,而是那还未盛满的半杯水?你是怎么看待的? 工人师傅搬运重物时经常采用的方法,其中利用物理知识有,以滚动代替滑动... 找三个点 砸墙 很省力 物理原理 nt是什么网络语 nt的意思 网络nt是什么意思 网络nt意思简述 考虑循环不变式编写一个程序,求两个正整数的最小公倍数 人生感悟正能量短句 人生感悟正能量经典短句 妊娠糖尿病血糖大于多少需要打胰岛素 空腹 餐后 川味水煮鱼的家常做法 川味水煮鱼的家常做法是什么 糖尿病人血糖多少用胰岛素? 二手苹果5多少钱: 想卖个二手苹果5没任何问题,只有些小磕碰值多少钱,求专业人士解答_百度... 尺寸的基本含义 妊娠期糖尿病患者可以打胰岛素吗?? 我参加2014年上半年全国英语等级一级考试,笔试过了口试没过,笔试成绩... 怀孕八个月餐后两小时血糖10左右用打胰岛素吗 衣服粘上油,怎样可以除掉