代码之家  ›  专栏  ›  技术社区  ›  Yashas Nadig

调用堆栈lifo队列是否正确?

  •  1
  • Yashas Nadig  · 技术社区  · 2 年前

    我目前正在读斯图尔特·拉塞尔和彼得·诺维格的一本关于人工智能的书。他在书中提到堆栈是后进先出法队列。它是正确的还是错误的?

    上下文(第3.3.2节):

    LIFO队列或后进先出队列(也称为堆栈)弹出次数最多 最近添加的节点;我们将看到它被用于深度优先搜索。

    我在谷歌上搜索了一下,却找不到答案。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Stef    2 年前

    对“堆栈”和“后进先出队列”是同义词。

    但是,使用“队列”一词时要小心。

    当不带限定形容词使用时,它几乎总是指“FIFO队列”。所以,“堆栈”表示后进先出队列,而“队列”单独表示FIFO队列。这有点像人们说“牛奶”:“羊奶”就是羊奶,但“牛奶”本身总是牛奶。

    还有一些其他结构被称为队列:“优先级队列”(通常被实现为堆,尽管其他实现也是可能的)和“双端队列”(这是一个列表,您可以随时选择在哪一侧推送或弹出)。

    但当人们说“队列”而不是更具体的时候,他们几乎总是指FIFO队列。

    推荐文章