发布
社区首页 >问答首页 >什么时候队列比常规链接列表更好?

什么时候队列比常规链接列表更好?
EN

Stack Overflow用户
提问于 2016-07-07 05:53:52
回答 2查看 324关注 0票数 0

在哪种情况下,在常规链接列表上使用队列比较可取?如果列表是单独的--或者是双链接的--则是无关紧要的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-15 15:25:49

线性列表是由n个节点(可能为零节点)组成的序列,其中列表的基本结构属性是项目在一行中出现的相对位置。也就是说,对于任何给定的节点,我们只关心它的两个相邻的邻居,即前面的节点和下面的节点。

我们可能希望能够执行以下操作,

  • 检查列表的第k个节点
  • 更改存储在第k节点的值。
  • 在第k节点之前或之后插入一个新节点
  • 将两个列表合并为一个列表
  • 将列表拆分为两个或多个列表
  • 复制一份清单
  • 获取列表的长度(节点数)
  • 根据值的某种质量对节点进行排序
  • 搜索列表中的特定值

根据存储在结构中的数据,我们比应用程序中的其他操作更有可能执行某些操作。

线性列表中的插入、删除和对值的访问总是发生在第一个或最后一个节点上是常见的,因此,它们被赋予了特殊的名称。

队列是一个线性列表,所有插入都在列表的一端进行,所有删除和访问都在另一端进行。

链接列表通常为我们提供一组操作,使我们能够遍历整个结构并对每个节点(扩展为所有节点)执行操作。

根据它们提供的一组操作,这对对彼此是不同的。这两种做法传统上是以不同的方式实现的,因此它们各自的运作效率更高。

链接列表通常更适合用例--需要对列表中的任何节点进行读/写访问。

队列更适合于所谓的生产者/消费者情况,其中生产者和使用者以异步方式与数据结构交互,并且希望按照插入的顺序(即先入先出(FIFO) )使用数据结构中的项。

票数 1
EN

Stack Overflow用户

发布于 2016-07-07 17:58:17

队列是链接列表的特定组织。因此,当您想要暗示队列是使用数据的最佳方式时,使用队列是可行的。例如,如果不希望用户在不首先清空队列的情况下访问队列的下一项之外的数据,或者希望按队列添加时间顺序数据,则可能需要使用队列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38238367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档