时间复杂度 - 增长顺序

Time Complexity - Order of Growth

刚刚开始学习增长的顺序,在课文中找到了下面的练习。

我们有下面的等式,

T(n) = 3n + 32n^3 + 767249999n^2 = O (?)

通常,我们删除低阶项和常数,我们会得到 O(n^3)。但在这种情况下,常量 767249999 太大了,这会使 n2 项更大,即使 n 的值非常大。那么,这种关系导致 O(n^2) 或 O(n^3)? 谢谢!

结果是 O(n^3)。这是因为,对于足够大的 n(无论是“小”、“大”还是“非常大”),术语 32n^3 支配 767249999n^2

根据定义,您需要任何常数 c 使得 cn^2 永远不会被 32n^3 支配,因为它在 O(n^2) 中。但这是不可能的,至于n > c/32你会发现32n^3 = 32n*n^2 > cn^2.