评价算法主要是评价算法执行所需的机器时间和所占用的存储空间。
关于算法执行时间:
一个算法的执行时间大致上等于其所有语句执行时间的总和,语句的执行时间指该条语句的执行次数和执行一次所需时间的乘积。但实际上算法分析不是针对实际执行的时间的精确计算,而是针对算法中语句执行次数做出估计,从而得到算法执行时间的信息。
算法的空间复杂度:
算法的空间复杂度一般是指执行这个算法所需的内存空间。
下面详细说一下算法时间复杂度:
设语句执行次数为T(n),算法的时间复杂度记作:T(n) = O(f(n)),这种记法称为大O记法,下面 给出如何推导大O:
1、用常数1取代运行时间中所有加法常数
2、在修改后的运行次数函数中,只保留最高阶项
3、如果最高阶项存在且不是1,则去除与这个项相乘的常数
得到的结果就是大O阶。
举个例子:
按照上面所写的这个时间复杂的是O(n^3) 。