【发布时间】:2019-03-31 23:05:38
【问题描述】:
我正在阅读wiki page,上面写着:
但是,在无序数组中找到最小值并不是一件容易的事 扫描数组中每个元素的恒定时间操作是 需要确定最小值。因此它是线性的 时间运算,耗时 O(n)。如果元素个数已知 提前并且不会改变,但是,这样的算法仍然可以 可以说是在恒定时间内运行。
如果事先知道元素的数量,我无法理解时间复杂度如何变得恒定?还是不会是O(n)吧?
【问题讨论】:
-
如果元素的个数是预先知道的并且不改变,那么它是常量。在这种情况下,根本就没有变量
n让算法成为O(n)。 -
@JohnColeman,你能举个例子解释一下吗?
-
说数组中有
100元素。那你要看看100元素,100是1的常数倍数,所以:O(1)。此外,大 O 表示法用于渐近发生的情况,因为n趋于无穷大。常数保持固定而不是趋于无穷大,因此甚至不会出现渐近问题。
标签: algorithm