时间复杂度

来源:互联网 发布:淘宝卖家退款要验证码 编辑:程序博客网 时间:2024/05/22 06:10

       假设有一条程序语句,如果要确定执行这条语句的时间总量,需要知道:该语句的执行次数和每执行一次所需要的时间。这两项的乘积就是该语句的时间总量。我们知道,程序执行一次所需要的时间由许多因素决定,比如所用机器、编程语言及编译程序等计算机软硬条件。抛开这些因素不谈,算法所消耗的时间主要取决于算法中指令重复的次数,这样语句的执行次数可有算法本身直接确定。

       上界函数:如定理1-1所示,f(n)是计算时间g(n)的一个上界函数,g(n)的数量级为f(n)。

     


       下界函数: 如定理1-3所示,f(n)是计算时间g(n)的一个下界函数



       在某些时候,f(n)既是g(n)的上界,也是g(n)的下界。为方便起见,我们用另一个数学符号来表示:

 

从计算时间上可以把算法分成两类,凡是可以用多项式来对其时间界

的算法,称为多项式时间算法;而计算时间指数函数界定的算法称

为指数时间算法。关系如下:



在进行算法分析时,我们要确定能反映算法在各种情况下工作的数

集,选取的数据要能够反映各种情况,包括最好情况下的时间复杂度

(时间复杂度下界)、最坏情况下的时间复杂度(时间复杂度上界)、

平均情况下的时间复杂度。通过使用这些数据配置来运行算法,以了

算法的性能



0 0
原创粉丝点击