定义:建立序列中第n项与其前趋元素间的关系递归算法的分析。 递推关系an a 1 =5 初始条件 a n = a n-1 +3 n≥2 a 2 =a 1 +3=5+3=8 a 3 =a 2 +3 = 8+3=11 递推关系是由数列第n项前的若干项确定第n项,并由此确定数列。
数列a 0 ,a 1 , ...的递推关系是一个由a 0 ,a 1 ,… a n-1 中的一些或全部确定a n 的等式。 数列a 0 .,a 1 , ...的初始条件是对数列的有限个元素给定的确定值。
递推关系f n =f n-1 +f n-2 (n≥3) 且 初始条件f 1 =1 f 2 =2
递推关系、递归算法、数学归纳法 三者间关系非常密切! 例:S n 不含111的n位二进制字符串的个数,确定递推关系。 解: 以0开始的 以10开始的 以110开始的 S n = S n-1 +S n-2 n≥4 S 1 =2,S 2 =4,S 3 =7 C k-1 *C n-k
思路:(0,0) → (k,k)→(n,n)通项公式如下:
C n 移动次数 C n =2C n-1 +1 n≥2 C 1 =1 其通项公式为:
习题:P219,1,4,5,37
方法:数列a 0 ,a 1 …a n :的通项公式a n . 代入法 定常系数线性齐次递推关系 例 1 :S n =2S n-1 S 0 =1。 例 2 :a 1 =2,a n =a n-1 +3 n≥2
常系数线性齐次递推关系 形如a n =c 1 a n-1 +c 2 a n-2 + ... +c k a n-k c k ≠0的递推关系称为常系数线性齐次递推关系 K阶常系数线性齐次递推关系
设a n = c 1 a n-1 +c 2 a n-2 是2阶常系数线性齐次递推关系,如果S,T是解,则U=bS+dT也是解 如果r是t 2 - c 1 *t -c 2 =0的根,则r n 是解。 a 0 =c 0 ,a 1 =c 1 r 1 ,r 2 是t 2 -c 1 *t -c 2 =0的不同的根,则存在b,d使得
例:鹿群n=0:200n=1 : 220 从n-1到n的增长头数为n-2到n-1的增长头数的两倍,写出递推关系,求通项公式。 定理 r 1 = r 2 设a n = c 1 a n-1 + C 2 a n-2 是2阶常系数线性齐次递推关系 a 0 =c 0 ,a 1 =c 1 r 1 =r 2 =r是t 2 -c 1 t-c 2 =0的(同)根,则存在b,d使得 例:d n =4(d n-1 -d n-2 ) d 0 =d 1 =1 t 2 -4t+4=0 r 1 =r 2 =2 d n =b 2 n +d* n 2 n 且d 0 =d 1 =1 d 0 =1=b2 0 + d * 0 * 2 n =b d 1 =1=b * 2 1 +d * 1 * 2 1 =2 b+2*d=1 b=1,d=-1/2 d n =2 n -n * 2 n-1 习题:P231,1,4,14,22
k阶常系数线性齐次递推关系 如果r是方程t k -c 1 t k-1 -c 2 t k-2 -…=0的m重根, 则可证明r n ,n r n ,…,n m-1 r n 都是解
用递推关系分析算法运行的时间 基本思想: a n 表输入量为n时算法运行的时间 确定数列a 0 ,a 1 ,…的地推关系和初始条件,通过求解递推关系,确定算法所需要的时间。 例如计算快速排序,归并排序,选择排序等。详见数据结构。