数据结构学习第三讲:大O记号

优点

上节讲的是尺子,这些讲的是刻度。大O记号要求长、远,不要过多纠结不足,要看到主流方面。

渐进分析(大O记号)

数据结构学习第三讲:大O记号
数据结构学习第三讲:大O记号
数据结构学习第三讲:大O记号
数据结构学习第三讲:大O记号
T(O)是对T(n)的一个悲观的估计。

渐进分析:其他记号

T(Ω)构成了T(n)的一个下界,是一个乐观的估计。
T(Θ)是T(n)和T(Ω)的一个中和。
多数情况下用的是大O记号。
数据结构学习第三讲:大O记号

O(1)

数据结构学习第三讲:大O记号
如果一段代码不含转向(循环、调用、递归等),必顺序执行,即是O(1).

对数O

数据结构学习第三讲:大O记号
数据结构学习第三讲:大O记号
数据结构学习第三讲:大O记号
数据结构学习第三讲:大O记号

多项式复杂度(O(n^c))

数据结构学习第三讲:大O记号
这类算法的效率通常认为已可以令人满意了,因为至少还不是难解。

难解:指数复杂度(O(2^n))

数据结构学习第三讲:大O记号

实例

数据结构学习第三讲:大O记号
数据结构学习第三讲:大O记号

增长速度问题

数据结构学习第三讲:大O记号