【发布时间】:2014-01-22 15:05:49
【问题描述】:
让我们考虑一下(可以说)最著名的所有数据结构
- 提供
add或append允许在(摊销的)恒定时间内(在集合的一端)添加数据,并且 - 提供 O(1) 索引
显然我们都熟悉这个概念:在 Java 中我们称其为 ArrayList,在 C++ 中可能称为 vector,在 Python 中它是“列表”,在 Scala 中称为 ArrayBuffer 等等。
我的问题是:指代这些实现背后的抽象数据类型最合适的术语是什么,即哪个术语将(或应该?)与所有程序员提到的复杂性相关联,而不管他们的个人背景/语言如何?
【问题讨论】:
-
@SLaks:哦,我太傻了;为什么我在 Wikipedia 研究期间没有遇到此问题……这几乎解决了我的问题,如果您愿意将其发布为答案,我会接受。再考虑一下这个词,它也很有意义:词 Array 很可能触发与 O(1) 索引 和前缀 动态添加关联可以在O(1)中增长。与有点模糊的“向量”或“序列”相比(至少对我而言)要清晰得多。
标签: java c++ collections abstract-data-type