使用FIFO检索收集

时间:2012-08-14 21:13:28

标签: data-structures collections linked-list

GRE CS:哪种数据结构最适合实现具有以下三个特征的值集合?

  • 检索项目并从FIFO
  • 中的集合中删除
  • 对于项目数量没有先验限制 采集。
  • 项目的大小相对于存储空间很大 内存地址所需。

这是一个带有以下答案的多项选择题:

  • (A)单链表,带头尾指针
  • (B)双向链表,只有一个头指针
  • (C)数组
  • (D)二叉树
  • (E)哈希表

我认为(C),(D)和(E)是错误的。

1 个答案:

答案 0 :(得分:0)

A似乎确实是正确答案。由于在FIFO中删除了项目,因此您只需要对集合中的第一个和最后一个元素进行操作。 A,C和E都可以在恒定的时间内完成。

物品数量没有限制。这意味着C和E不再像A那样好,因为最终需要重新调整数组或散列表的大小,因为它变大或分配的数量远远超过你需要的数量。使用链接列表,您可以随时轻松添加。

项目的大小很大。这进一步表明A是正确的,因为在存储结构中添加链接地址将是不重要的。