【发布时间】:2011-08-04 04:39:03
【问题描述】:
在Java中声明一个大小为n的数组的运行时间是多少?我想这将取决于内存是在垃圾收集(在这种情况下它可能是 O(1) )还是在初始化(在这种情况下它必须是 O(n) )时清零。
【问题讨论】:
-
我认为那将是 JVM 依赖
-
我猜半开玩笑,迂腐的答案是它是
O(1),因为即使它是O(n),n对于 Java 数组也受2^31的限制,因此将是渐近的低于某个大常数。 -
@Mark,在这种情况下,每次计算都是 O(1) 空间,因为地球上的原子数量是有限的。 :P
-
@amit,好吧,换一种说法,由于计算机的内存有限,任何终止程序都会在
O(1)中运行。 -
@amit:该死,这个答案本可以让我在大学里省去很多麻烦!是的,显然这是一个荒谬的评论。
标签: java arrays complexity-theory performance