递推关系、递归算法以及数学归纳法三者是紧密相关的,它们都是当前项的前一项或前几项是已知或可求为前提的。不同的是:递推是用先前值计算当前值;递归算法是利用当前输入的较小实例加工成当前输入;数学归纳法则假定前一步是正确的,由此推导出当前步是正确的。
递推的定义数列a0,a1......的递推关系是由a1,a2......,an-1中一些或全部确定an的等式。数列a0,a1,.....的初始条件是对有限个元素给定的确定值。 也就是说递推关系表示当知道一个数列的初始条件时,而且知道an与an+1的等式关系。则就可以推断出an+1的值。
递归算法可以理解成自己调用自己的一个算法。在语言编程中经常利用这一点,递归算法的含义大致是:在一个函数中,当还需要调用自己函数功能时,只是在输入值有规律的变化之后可以求出当前函数的具体值的一个算法过程。
递推关系与 递归算法相关。不过从定义上可以看出它们的区别, 递归算法是自己调用自己,可以不用知道初始情况的具体值,而 递推关系必须要知道初始情况,然后才可以通过等式关系求出具体要求的值。