最近被这个定义搞得很恼火,百思不得其解他们有什么意义。。。
虽然确实没有什么意义(开玩笑)
整理一下:
证明算法的正确性
要做下面的事情:
● 合法输入数据的说明
● 输入和期望输出之间的关系
算法的正确性:整体正确和部分正确
证明正确性的时候我们一般分两个阶段:
● 一用不变式来证明算法的部分正确性。不变式指的是依附于算法中的一条特定的语句,该语句对计算的结果状态进行判断。
● 二用收敛性来严整算法的整体正确性。收敛性是证明算法在特定的合法输入数据的情况下,会正常结束的一种方法。
所以说什么是不变式,什么是收敛式?
讲的太含糊了吧,既然说是该语句对计算结果的状态进行判断,那么表达的就是算法的含义吧,就比如说是用数学归纳法的验证。
收敛式这也说的太玄了吧,就是证明算法会终止,那就是只要证明循环的次数在增多的同时,未来预期的循环次数在减少就好了吧。