演算法分析__遞推方程

Enjoy_process發表於2019-03-05

                                                演算法分析__遞推方程

 

 

一、定義

通過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)

 

三、特點

間接抽象,更適用於複雜的遞迴模式。

相關文章