Search code examples
javac++collectionsabstract-data-type

Abstract data types naming convention: (Dynamic) Array, Vector, Sequence, List, Container, Buffer


Let's consider the (arguably) most famous of all data structures which

  • provides an add or append allowing to add data in (amortized) constant time (at one end of the collection), and
  • provides O(1) indexing

Obviously we are all familiar with this concept: In Java we would call it an ArrayList, in C++ probably a vector, in Python it is "a list", in Scala an ArrayBuffer etc.

My question is: What is the most appropriate term to refer to the abstract data type behind these implementations, i.e., which term would (or should?) be associated with the mentioned complexities by all programmers irrespective of their individual background/language?


Solution

  • That's called a Dynamic Array.