循环不变式

来源:互联网 发布:轩辕剑神足进阶数据 编辑:程序博客网 时间:2024/05/22 03:07

循环不变式是干嘛的?

用于帮助理解算法的正确性。

循环不变式的三个性质:

  1. 初始化:在循环开始前的第一轮迭代式正确的
  2. 保持:在循环中,如果在某轮迭代开始之前是正确的,那么在在下一次迭代之前,它也是正确的
  3. 终止:在循环结束后,它还是正确的。
以归并排序为例:
初始化:把每个单独元素作为一个列表,这个列表一定是有序的。
保持:选取两个有序列表,进行合并,合并之后还是有序的
终止:当只有1个列表的时候退出,那么这个列表一定是有序的。

循环不变式就是帮助我们来理解算法是否正确。

0 0