有人知道我该怎么做?
谢谢
发布于 2008-11-19 22:03:13
如果您需要对一组n元素中的每个元素执行某些操作,则无法获得高于O(n)的性能。
发布于 2008-11-19 22:01:20
如果你的意思是“在一个独立于N的时间内初始化一个由N个项目组成的密集数组”,那么这在物理上是不可能的。密集数组的存储空间与项的数量呈线性增长,初始化该空间需要线性的时间。
您可以使用稀疏数组进行固定时间的初始化。这本质上是一个关联数组(或hashmap,或字典,或表,取决于语言),它在项目第一次被访问时对其进行初始化。
发布于 2008-11-19 22:24:11
我认为这只是一个简单的语法问题。在C++中,您可以执行以下操作:
int foo[1000] = {0};数组中的所有值现在都是0
虽然它看起来像是在固定时间内完成的,但它仍然是O(n)
https://stackoverflow.com/questions/303519
复制相似问题