算法分析__递归跟踪
一、定义
检查每个递归实例,累计所需时间(调用语句本身,计入对应的子实例),其总和即算法执行时间。
二、程序分析
最基本:线性递归
问题描述:给出一个长度为n的整数数组,统计数组各元素的和。
解题代码:
int sum(int A[],int n)
{
return (n<1)?0:sum(A,n-1)+A[n-1];
}
本例中,共有个递归实例,每个递归实例只需时间,因此
三、特点
直观形象,仅适用于简明的递归模式。
一、定义
检查每个递归实例,累计所需时间(调用语句本身,计入对应的子实例),其总和即算法执行时间。
二、程序分析
最基本:线性递归
问题描述:给出一个长度为n的整数数组,统计数组各元素的和。
解题代码:
int sum(int A[],int n)
{
return (n<1)?0:sum(A,n-1)+A[n-1];
}
本例中,共有个递归实例,每个递归实例只需时间,因此
三、特点
直观形象,仅适用于简明的递归模式。