【问题标题】:is FILO always LIFO?FILO总是后进先出吗?
【发布时间】:2020-05-13 13:16:55
【问题描述】:

堆栈称为后进先出 (LIFO) 和先进后出 (FILO) 结构。

是否有任何 LIFO 但不是 FILO(或其他方向)的数据结构?一个反例证明“FILO 并不总是意味着 LIFO”

【问题讨论】:

    标签: data-structures stack lifo


    【解决方案1】:

    也许我来晚了,但有一个简单的矛盾证明。

    假设有一个不是 FILO 的 LIFO 结构。这意味着最先到达的元素(我们用字母 A 表示)可以“不是最后”处理(“out”),即如果结构中存在其他一些元素(比 A 晚到达)。其中存在最后一个元素B,显然B≠A。但是,根据 LIFO 原则,必须“现在”处理的是 B,而不是 A(因为 B 是最后一个,所以必须先处理),所以无论如何 B 在 A 之前“出”。仅当不存在此类 B 时,才处理元素 A,即仅当没有其他元素存在时。但它的定义是 FILO。量子力学

    几乎可以用同样的方式证明任何 FILO 结构都是 LIFO。

    附: FIFO==LILO 语句也可以类推证明。

    【讨论】:

    • 谢谢@trolley813,你能给出这种数据结构的名称吗?我正在寻找这个反例。 PS:你没有迟到。
    • @RaymondChenon 这证明不存在这样的结构,即任何 FILO 结构都是 LIFO,反之亦然。 FIFO-LILO 也是如此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多