【发布时间】:2018-04-13 14:15:14
【问题描述】:
我在网上看到了这个时间复杂度的例子,有点困惑。
x = n
while ( x > 0 ) {
y = x
while ( y > 0 ) {
y = y - 1
}
x = x / 2
}
答案为 O(n)。我想知道为什么它不是 O(nlogn)。我之所以这么说是因为外循环看起来是对数的,而内循环看起来是线性的。如果 y=n(而不是 x),那么时间复杂度会是 O(nlogn) 吗?如果是这样,为什么?
【问题讨论】:
-
都是 O(n) 和 O(n log n),但是 BigTheta(n): en.wikipedia.org/wiki/…