算法分析__递推方程

                                                算法分析__递推方程

 

 

一、定义

通过T(n)的递推方程,求出T(n)

 

二、程序分析

 

最基本:线性递归

问题描述:给出一个长度为n的整数数组,统计数组各元素的和。

解题代码:

int sum(int A[],int n)
{
	return (n<1)?0:sum(A,n-1)+A[n-1];
}

 

从递推的角度看,为求解sum(A,n),需递归求解规模为n-1的问题sum(A,n-1)再加上A[n-1]。递归基:sum(A,0)

由上易得,T(n)的递推方程为

T(n)=T(n-1)+O(1)

T(0)=O(1)  //递推基

解得T(n)=O(n)

 

三、特点

间接抽象,更适用于复杂的递归模式。

你可能感兴趣的:(算法分析__递推方程)