算法学习 - 证明算法的正确性 - 循环不变式 (Loop invariants)

循环不变式 (Loop invariants)

循环不变式在数学上阐述了通过循环(迭代、递归)去计算一个累计的目标值的正确性。主要用来检验算法。

循环不变式主体是不变式,是一种描述规则的表达式。其过程分三个部分:初始,保持,终止。

其实本质上就是一个思想,说明正确算法的在循环过程中总存在一个维持不变的特性。

若这个特性一直保持到循环结束,这样就可以保证算法的正确性了。


而对于一个循环表达式,包含以下三个过程:

初始化 (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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值