ϴ(n) 表示算法的复杂度,例如 n, 2n, 3n, 4n 等。你可以把 ϴ(n) 看作类似于 kn 的表示方法,其中 k 是正实数。
kn/n 当然是 k,你也可以把它看作是 ϴ(1) 的表示。
kn/(n+1) 随着 n->∞ 收敛于 k。你可以使用 L'Hopital 定理来确认这个结果。
如果你对大O和大θ还不太了解,那么可以把 ϴ(n) 理解为“n的数量级”,同样的,ϴ(n2) 就是“n平方的数量级”,以此类推。
编辑: 请注意,我的回答意图是非正式的。正确的概念化方式是将 ϴ(n) 视为边界函数。请参考下面Paul Hankins的评论。虽然在日常使用中,我认为以上理解很有帮助,但是建议你遵从他的建议和担忧。
为了确保这里至少包含他的一些笔记,我补充说大O复杂度的正式定义如下:
如果存在一个正实数 M,使得对于所有的 x >= x0,都满足 |f(x)| <= Mg(x),则函数 f(x) 可以称为 O(g(x))。
同时,如果存在一个正实数 M,使得对于所有的 x >= x0,都满足 |f(x)| >= Mg(x),则函数 f(x) 可以称为 ϴ(g(x))。
希望以上内容不会给你造成太大困扰。现在你可以提出这样一个问题:一个被 Max 限制并且除以 x 后被 Mb(1) 限制的函数是否有界?