递归算法与非递归算法效率的一般计算方法

1. 非递归算法

1)首先确定一个参数n来表示输入的大小;

2)分析算法的基本操作,一般在循环的最里层;

3)判断算法需要执行基本操作的次数是否只与n有关,如果它还与其他因数有关,则需要分开考虑算法的最好、最坏、平均情况;

4) 建立一个计算算法需要执行的基本操作的步数的表达式;

5)利用已有的公式和法则,根据之前的表达式得出近似的值,或者至少找到它的界。

2.递归算法

1)首先确定一个参数n来表示输入的大小;

2)分析算法的基本操作,一般在循环的最里层;

3)判断算法需要执行基本操作的次数是否只与n有关,如果它还与其他因数有关,则需要分开考虑算法的最好、最坏、平均情况;

4) 建立递归的关系式,并有初始的条件;

5)解出关系式的结果或者至少得出界值。

点赞