时间复杂度
我们评估一种算法的优劣,可以使用它的时间复杂度和空间复杂度来衡量,我们一般讨论的是该算法的最坏时间复杂度和最坏空间复杂度,即分析最坏情况以估算算法的执行时间的上界。
时间复杂度
我们一般采用大O渐进表示法描述一个算法的时间复杂度。时间复杂度主要讨论的是算法执行的次数。
一般算法时间复杂度O(n)的表示方法:
(1)用常数1取代运行时间中的所有加法常数 ;
(2)在修改后的运行次数函数中,只保留最高阶项;
(3)如果最高阶项系数存在且不是1,则去除与这个项相乘的常数;
(4)递归算法的时间复杂度 == 递归总次数*每次递归的次数
空间复杂度 == 递归的深度(即树的高度)
网友评论