时间复杂度 - 增长顺序
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
.
刚刚开始学习增长的顺序,在课文中找到了下面的练习。
我们有下面的等式,
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
.