首页 > 代码库 > 算法(第4版)-1.4.6 倍率试验

算法(第4版)-1.4.6 倍率试验

总结:本小节讲述了倍率试验的实现和作用。

 

重点:

1. 倍率试验的实现:

· 开发一个输入生成器来产生实际情况下的各种可能的输入。

· 运行程序,它能够计算每次实验和上一次的运行时间的比值。

· 反复运行知道该比值趋近于极限2^b。

 

这个实验对于比值没有极限的算法无效,但它仍然适用于许多程序,我们可以得出以下结论:

· 它们的运行时间的增长数量级约为N^b。

· 要预测一个程序的运行时间,将上次观察得到的运行时间乘以2^b并将N加倍,如此反复。如果你希望预测的输入模型不是N乘以2的幂,可以相应的调整这个比例。

 

2. 了解程序的运行时间的增长数量级能够为你提供精确的信息,从而理解你能够解决的问题规模的上限。

 

3. 根据增长的数量级函数做出的预测:

描述 函数 系数为2 系数为10
线性级别 N 2 10
线性对数级别 NlogN 2 10
平方级别 N^2 4 100
立方级别 N^3 8 1000
指数级别 2^N 2^N 2^9N

算法(第4版)-1.4.6 倍率试验