一、非递归程序(往往以迭代为基础)
(1) 确定哪些参数作为输入量的规模
(2) 找出算法的基本操作(主要操作)(作为规律,往往位于最内层循环)
(3) 检查基本操作的执行次数是否只依赖于输入规模,若不是,考虑最坏,最好,平均
(4) 建立一个基本操作执行次数的求和公式
(5) 利用求和公式建立闭合公式 或者 至少决定他的增长次数
1、求和公式:类似于 n + (n - 1) + --- + 2 + 1
闭合公式:类似于 n(n + 1) / 2
二、递归程序
(1) 决定用那些量作为输入规模的度量
(2) 找出算法的基本操作
(3) 检查算法执行次数是否只依赖于数据规模,还是还依赖于输入数据,来决定最好、最坏、平均的情况
(4) 对于基本操作执行次数(T(n)),建立一个递推的关系以及初始条件
(5) 求解这个递推或者至少确定其增长次数