算法复杂度分析

分析非递归算法效率的通用方案:

1.  决定用哪个(哪些)参数作为输入规模的度量
2.  找出算法的基本操作(作为一规律,它总是位于算法的最内层循环中)。
3.检查基本操作的执行次数是否只依赖输入规模。如果它还依赖一些其他的特性,则最差效率、平均效率以及最优效率(如果必要)需要分别研究。
4.建立一个算法基本操作执行次数的求和表达式。

5.利用求和运算的标公式和法则来建立一个操作次数的闭合公式,或者至少确定它的增长次数。


递归算法复杂性分析-通用方案:

1.决定用哪个(哪些)参数作为输入规模的度量。
2.找出算法的基本操作。
3.检查一下,对于相同规模的不同输入,基本操作的执行次数是否不同。如果不同,则必须对最差效率、平均效      率以及最优效率作单独研究。
4.对于算法基本操作的执行次数,建立一个递推关系以及相应的初始条件。
5.解这个递推式,或者至少确定它有解的增长次数。

你可能感兴趣的:(算法复杂度分析)