1. 非递归算法
1)首先确定一个参数n来表示输入的大小;
2)分析算法的基本操作,一般在循环的最里层;
3)判断算法需要执行基本操作的次数是否只与n有关,如果它还与其他因数有关,则需要分开考虑算法的最好、最坏、平均情况;
4) 建立一个计算算法需要执行的基本操作的步数的表达式;
5)利用已有的公式和法则,根据之前的表达式得出近似的值,或者至少找到它的界。
2.递归算法
1)首先确定一个参数n来表示输入的大小;
2)分析算法的基本操作,一般在循环的最里层;
3)判断算法需要执行基本操作的次数是否只与n有关,如果它还与其他因数有关,则需要分开考虑算法的最好、最坏、平均情况;
4) 建立递归的关系式,并有初始的条件;
5)解出关系式的结果或者至少得出界值。