算法的时间复杂度

算法的时间复杂度

度量一个程序(算法)执行时间的两种方法
1) 事后统计的方法
这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,需要实际运行该程序;
二是所得时间的统计量依赖于计算机的硬件、软件等环境因素, 这种方式,要在同一台计算机的相同状态下运行,才能较那个算法速度更快。
2) 事前估算的方法
通过分析某个算法的时间复杂度来判断哪个算法更优。

常见的时间复杂度:
 
常数阶 O(1)、对数阶 O(log2^n)、线性阶 O(n)、线性对数阶 O(nlog2^n)、平方阶 O(n^2)、立方阶 O(n^3)、k 次方阶 O(n^k)、
指数阶 O(2^n)
 
说明:
常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2^n)<Ο(n)<Ο(nlog2^n)<Ο(n^2)<Ο(n^3)< Ο(n^k) <Ο(2^n) ,
随着问题规模 n 的不断增大,上述时间复杂度不断增大,算法的执行效率越低。
 
 

 

 

 
posted @ 2021-02-12 13:39  cire  阅读(192)  评论(0)    收藏  举报
/* 看板娘 */