主1:关于递归算的证明是证明算法的正确性。
证明所需工具:数学归纳法。
证明分为两个步骤:
1、证明该算法对于任意有意义的输入都可以返回。
2、证明该算法对于任意有意义的输入它的返回都是正确的。
总结,对于任意有意义的输入都可以返回正确的结果。
例子:Hanoi(汉诺)塔问题:
void hanoi(int n,char s,char t,char d) // s=source t=temporary d=destination
{
if(1 == n) // 程序段一
{
printf("%c -> %c\n",s,d); // move s to d
}
else // 程序段二
{
hanoi(n-1,s,d,t);
printf("%c -> %c\n

本文详细介绍了如何使用数学归纳法证明递归算法的正确性,以汉诺塔问题为例,分别阐述了证明算法可以返回以及返回结果正确性的两个步骤。通过递归调用和假设,展示了递归算法在处理任意有意义输入时能够正确返回解决方案的过程。
最低0.47元/天 解锁文章
1816





