哪种数据结构最适合实现具有以下三个特征的值集合? i) 按 FIFO 顺序从集合中检索和删除项目。
ii) 集合中的项目数量没有先验限制。
iii) 与内存地址所需的存储空间相比,项目的大小很大。
(A)带有头指针和尾指针的单链表
(B)只有一个头指针的双向链表
(C)二叉树
(D)哈希表答案:(一)
说明:如果我们按 FIFO 顺序访问元素,单向链表中的头和尾指针将使插入和删除的时间复杂度为 O(1)。
在双链表中,因为只给出了头指针,所以插入时我们必须遍历完整的链表,所以插入将是 O(n) 所以不合适。
在二叉树中,我们只有一个指向根的指针。二叉树的插入和删除
O(log n) 所以不合适。
在哈希表中,无法按 FIFO 顺序访问数据。这个问题的测验