【发布时间】:2012-01-31 21:56:55
【问题描述】:
我无法让我的标题非常具有描述性,抱歉!
对于每个支持某些摊销运行时间的操作的数据结构,在最坏的情况下,是否有另一个数据结构在相同的运行时间内支持相同的操作?我对迭代的、短暂的数据结构和功能性数据结构都感兴趣。
我确信这个问题之前一定被问过。我似乎找不到正确的搜索关键字(在 Google、SO、TCS 中)。我在 {yes, no, open} 中寻找引用的答案。
【问题讨论】:
-
这是一个非常有趣的问题!我所知道的每个具有良好摊销界限的数据结构都有一些其他数据结构具有相同的最坏情况时间界限,但我不确定是否总是可以保证这一点。
-
是的,通常是更丑陋的复杂!我有兴趣问这个问题,因为这个问题的每一个可能的答案都会让我感到非常惊讶:),也许除了开放。
-
我持怀疑态度。我认为摊销真的给你带来了一些东西。例如,我不明白您如何设法进行 O(1) 最坏情况添加,O(1) 最坏情况访问可调整大小数组。
-
你可能想看看cstheory.stackexchange.com——听起来你在寻找证据,而不是工程。
-
@rrenaud- 这样的数据结构存在!它被称为可扩展数组。我在这里有一个 Java 实现:keithschwarz.com/interesting/code/?dir=extendible-array
标签: algorithm data-structures complexity-theory time-complexity amortized-analysis