プラットフォーム運営・シェアリングエコノミーサービスに役立つ情報

後入れ先出し

コンピュータの内部は複数のデータで構成されていますが、後入れ先出しとは文字通り入れる際に後だったデータを取り出す際は優先するという仕組みです。

そして先に入れておいたものは必然的に後から取り出されることになります。積み木のように重ねていき、作業は全てその上からのみ行うとイメージすればわかりやすいでしょう。

そんなデータのやり取りを実現するためのデータ構造をスタックといい、データを出し入れする部分がひとつしかありません。

なぜそのような形にするのかというと効率的にデータを扱うためで、複数の関連性のあるデータの内、積み重ねた上部のみを使用する際に役立ちます。先に入れておいて上部よりも処理の優先度が低く、そう頻繁に用いないデータは、下の方に置いておけるというわけです。

根本的な基礎部分のデータはあまり変化する必要がないのに対して、比較的新しいものは更新の頻度が高い状況がその例です。

身近なものでは、文章やイラストを作成する際の戻る作業や、インターネットブラウザでのブラウザバック動作もその構造に当たります。より古いものに戻るためには、それより新しいものを全て経由しなければならないのがわかるでしょう。

スタックはひとつでなければならないわけではなく、複数用意することができます。そしてそこにデータを入れることをプッシュと呼び、逆に取り出す作業はポップという名前です。当然プッシュするデータの容量が増えると、スタック自体の容量も大きくなります。

もちろん先に入れたデータの方を優先的に処理しなければならない場合もありますが、後入れ先出しだと取り出すまでに時間と手間が増えるため適してはいません。そんな時には先入れ先出しという仕組みが用いられます。

スタックではなくキューというデータ構造で、入り口と出口がそれぞれ作られた形をしています。必要に応じてこの2つのどちらかを選択する他、両方を組みあわせる場合もあります。

SNSでフォローする