引言:
最近在读《算法引论》感觉颇有体会,以前对算法都没有一个统一的认识,现在感觉略微了解了些。总体来说感觉数学和计算机是息息相关的,真想回去再读一下数学的那些方法。在这本书里里面它主要讲了递推来实现递归(迭代),也算是数学的一个应用吧。
定理 1
如果对于带有参数n的命题P,当n=1时P成立,并且如果对于每个n,若n时P成立能推出n+1时成立;那么对于任意自然数,P都成立。
总体来说两点:
1.当n=1时,T成立。(递推基础)
2.对于任意的n〉1,如果n成立,那么n+1时成立。
算法中:
自此,我们可以归纳递归的方法。找到递归基础,并且通过n-1时成立,推出n也成立。也就是
-
Function(n)
-
{
-
if(n=1)//递归基础
-
-
reuturn 基础值
-
-
假设Function(n-1)已经求出,
-
用Function(n-1)求出n时的值
-
-
}
最简单的我们求出S(n) = 1 + 2 + 3 +.....+n
-
int Function(n)
-
{
-
if(n = 1)
-
return 1;
-
-
return Function(n-1) + n;
-
}
我也是有感而发,欢迎大家交流。
阅读(1733) | 评论(0) | 转发(1) |