フリーキーズ | 独学プログラミング

LIFO(Last-In, First-Out)とは

最終更新日

LIFOとは「Last-In, First-Out」の略で、コンピュータサイエンスや情報科学において、データ構造(特にスタック)に項目を追加・削除する順序を表すために用いられる原則です。LIFOシステムでは、最近追加された項目は常に最初に削除されます。これは、お皿のスタックの仕組みに似ています。スタックの一番上にお皿を追加すると、お皿が必要になったときに最初に取り除かれるのです。

テニスボールを入れる容器の例

後入れ先出し方式を理解するために、例えを用いて説明しましょう。テニスボールを入れておくバネ式の容器があるとします。ボールの出し入れは、容器の上部からしかできません。新しいボールを入れると、そのボールは既存のボールの上に置かれます。ボールを取り出すときは、コンテナの上部から取り出します。この動作は、後入れ先出しの原則を実践している例と言えます。

実際の例

以下に、後入れ先出しの原則に従った一連の動作の例を示します。

  1. 空の容器から始める: []
  2. 値A:【A】を追加する。
  3. 値Bを追加:[A,B]。
  4. 値Cを追加:【A,B,C】。
  5. トップバリュー(C)を外す:【A、B】。
  6. 値Dを追加:【A,B,D】。
  7. トップバリュー(D)を外す:【A、B】。

この例では、空のコンテナから始めて、一連の追加と削除の操作を実行します。各操作の後、コンテナの一番上のアイテムは、まだ削除されていない最も最近追加されたアイテムです。

コンピュータサイエンスでは、LIFO原理は一般的に、前述のようにスタックデータ構造と関連付けられています。スタックは、関数呼び出しの管理、式の解析、アプリケーションのアンドゥ/リドゥ履歴の維持など、さまざまなアルゴリズムやプログラミング作業で使用されています。

まとめ

要約すると、LIFO(Last-In, First-Out)とは、データ構造、特にスタックにアイテムを追加したり削除したりする順序を説明するために使われる原則です。LIFOシステムでは、最近追加された項目は常に最初に削除される。LIFOの原理は、コンピュータサイエンスや情報科学において、様々なアルゴリズムやプログラミング作業によく使われています。