数据结构与算法 学习笔记-5

时间复杂度
我们评估一种算法的优劣,可以使用它的时间复杂度和空间复杂度来衡量,我们一般讨论的是该算法的最坏时间复杂度和最坏空间复杂度,即分析最坏情况以估算算法的执行时间的上界。

时间复杂度

我们一般采用大O渐进表示法描述一个算法的时间复杂度。时间复杂度主要讨论的是算法执行的次数。

一般算法时间复杂度O(n)的表示方法:

(1)用常数1取代运行时间中的所有加法常数 ;

(2)在修改后的运行次数函数中,只保留最高阶项;

(3)如果最高阶项系数存在且不是1,则去除与这个项相乘的常数;

(4)递归算法的时间复杂度 == 递归总次数*每次递归的次数

                        空间复杂度 == 递归的深度(即树的高度)

你可能感兴趣的:(数据结构与算法 学习笔记-5)