【发布时间】:2019-01-23 21:27:06
【问题描述】:
堆栈已在 Java 中使用可调整大小的数组(向量)实现。但是,据我了解,尽管您可以选择,但对于常见应用程序,队列通常使用 LinkedList 进行实例化。
我知道理论上它们支持 O(1) 最坏情况或摊销的所有操作。但是,可调整大小的数组更适合堆栈,而链表更适合队列,是否有特定的原因?
换句话说,为什么它们不都使用可调整大小的数组或链表呢?
【问题讨论】:
-
另见stackoverflow.com/questions/322715/…。我看到的常见建议是几乎没有理由使用链表,但有些人反对。 (在其他人的争论中,他们的理由与渐近分析无关,也不特定于列表。)
标签: java data-structures stack queue time-complexity