算法分析主要是算法的时间复杂度和空间复杂度的分析,主要是考察算法的时间和空间效率,以求改进算法或者对不同算法的比较。因为一般情况下运算空间是比较充足的,所以一般的算法重点是分析时间复杂度。
算法的执行时间与问题规模有关。问题规模是一个和输入有关的量,比如:数组元素的个数、矩阵的阶数等。算法中一个语句的频度,是指该语句在算法中被重复执行的次数。算法中所有语句的频度之和记作T(n),它是该算法所求解问题规模n的函数,当问题的规模n趋向于无穷大时,T(n)的数量级称为渐时空时间复杂度,简称为时间复杂度,记作:T(n)=O(f(n))。
用数量级形式O(f(n))表示算法执行时间T(n)时,函数f(n)通常取较简单的形式,如:1、log2n、n、n*log2n、n^2、n^3、2^n等,在n较大的时候,常见时间复杂度之间的关系如下:
O(1)<O(log2n)<O(n)<O(n*log2n)<O(n^2)<O(n^3)<O(2^n)
2091

被折叠的 条评论
为什么被折叠?



