数据结构(一)算法的正确性证明

算法的正确性证明

直接证明法

反证法

要证明定理是正确的,首先假设定理是错误的,然后使用正确的命题和推理规则进行推理,出现:
1.与已知条件矛盾
2.与公理矛盾
3.与正确命题矛盾
4.自相矛盾
则得到结果(按照从浅显的正确性到稍微加深的部分进行)
:证明:没有最大的整数
思路:假设有最大的整数设为P,令N=p+1则存在比P大的整数
(考虑可以在整数上进行的运算)

数学归纳法

强归纳法:保证归纳假设过程的每一步都正确的情况下得出完整证明(证明前k项均成立,
c <=k 注意归纳假设利用的是要证明的结论
:证明欧几里得算法(算法E)的正确性
首先证明引理的正确性:
若m,n为正整数,r=mMODn,则m和n的最大公因子等于n和r的最大公因子
思路:设两个集合分别为m,n的公因数集合和n,r的公因数集合 ,通过所给公式的变形证明另一个数也符合条件,注意:两集合中的元素要任取
数学归纳法主要用于证明归纳算法的正确性和递归函数可以终止

你可能感兴趣的:(数据结构)