第4章 算法分析
1、最坏情况分析
评判算法性能的三种情况:最佳情况、平均情况、最坏情况。
为何要做最坏情况分析:
2、O表示法
需关注当算法处理的数据量变得无穷大时,算法性能将趋近一个什么样的值。一个算法的增长速度或增长规律非常重要,因为当输入数据量变得无穷大时,它可用来描述算法的效率到底有多高。O表示法是一种表示算法增长规律的方法。
O表示法的简单规则:(以增长率的角度观察函数f(n))
1) 可忽略常数项。
2) 可忽略常数因子。
3) 只需要考虑高阶项的因子。
3、计算的复杂度
复杂度与它处理数据量所需要的资源(时间、空间)的增长速率密切相关,可利用O表示法、迭代公式、统计方法等进行描述。
假设T(n)表示算法的运行时间,它的复杂度O(n)并没有具体表明运行此算法实际需要多少时间。也就是说,一个增长速率低的算法并不意味着它会消耗更少的运行时间。事实上,算法的复杂度并没有具体的计量单位。它只是表明当计算数据量的大小变化时,将如何影响算法所消耗的资源。
4、问与答