算法的时间复杂度
度量一个程序(算法)执行时间的两种方法 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 的不断增大,上述时间复杂度不断增大,算法的执行效率越低。