The Efficiency of Algorithm

---

如何表示复杂度?

image-20210330145329966

时间复杂度只关注数量级,即对于一个复杂的表达式,可以忽略某些低阶部分
$$
T(n)= O(f(n)) 意味着当n趋近于∞时, lim(T(n)/f(n))的结果为一个常数k
$$
image-20210330151128762

取 f(n) 中随n增长最快的项,将其系数置1作为时间复杂度的度量。

两条运算规则

image-20210330151555352

常见的渐进时间复杂度

image-20210330152756234

常对线,幂指阶

image-20210330152956918

关注深层循环

image-20210330153528747

image-20210330153607666

除问题规模外,时间复杂度也与输入数据的性质有关

image-20210330154523965

---考虑实际问题时一般只关注最坏时间复杂度和平均时间复杂度---

时间复杂度小结

image-20210330154749416

空间复杂度

时间复杂度讨论了时间开销与问题规模的关系,而空间复杂度讨论的是内存开销与问题规模的问题

exp1

image-20210330160311000

exp2

image-20210330160501934

exp3

image-20210330162812825

---在常见的题目中,当发生函数递归调用时,空间复杂度一般等于递归调用深度---

空间复杂度小结

image-20210330162619260

---考试题目中多考察空间复杂度---

原文地址:https://www.cnblogs.com/potofsalt/p/14597474.html