The Efficiency of Algorithm
---
如何表示复杂度?
时间复杂度只关注数量级,即对于一个复杂的表达式,可以忽略某些低阶部分
$$
T(n)= O(f(n)) 意味着当n趋近于∞时, lim(T(n)/f(n))的结果为一个常数k
$$
取 f(n) 中随n增长最快的项,将其系数置1作为时间复杂度的度量。
两条运算规则
常见的渐进时间复杂度
常对线,幂指阶
关注深层循环
除问题规模外,时间复杂度也与输入数据的性质有关
---考虑实际问题时一般只关注最坏时间复杂度和平均时间复杂度---
时间复杂度小结
空间复杂度
时间复杂度讨论了时间开销与问题规模的关系,而空间复杂度讨论的是内存开销与问题规模的问题
exp1
exp2
exp3
---在常见的题目中,当发生函数递归调用时,空间复杂度一般等于递归调用深度---
空间复杂度小结
---考试题目中多考察空间复杂度---