算法技巧

循环不变量

循环不变量是一个算法正确性证明的重要工具。在一个循环中,如果一个变量在每次迭代之间保持不变,那么它就是一个循环不变量。通常情况下,我们根据循环不变量来推导算法的正确性。
 

案例

public static <E> int search(E[] data, E target) { for (int i = 0; i < data.length; i++) { if (data[i].equals(target)) return i; } return -1; }
在这个例子中,循环不变量是 data[0… i -1] 中没有找到目标,判断a[i] 是否等于目标