带中断的循环不变量

时间:2019-01-04 22:46:08

标签: algorithm clrs loop-invariant

我试图了解循环不变性如何与中断相互作用。 CLRS 3e(pg19)将循环不变式描述为要求

  

如果在循环迭代之前为true,则在下一次迭代之前保持为true。

因此,以下循环很简单

for i = 1 to 5
    if i == 3 then break

可以公平地说 i <4 是循环的不变性质吗?争论是,由于循环在 break 语句处终止,因此在违反该属性后就不会进行迭代。

1 个答案:

答案 0 :(得分:2)

是的,由于您提到的原因,这将是不变的。 有用不变式是一个独立的问题,取决于您要证明的内容。