テクノロジ系 / アルゴリズムとプログラミング
スタック
スタックは、最後に入れたデータを最初に取り出すLIFO方式のデータ構造です。
もう少し詳しく
スタックは、データを積むpushと、最後に積んだデータを取り出すpopで操作します。皿を積み重ねるように、最後に置いたものから順に取り出す構造です。キューが先入れ先出し(FIFO)であるのに対し、スタックは後入れ先出し(LIFO)です。関数呼出しの管理、戻り先の保存、括弧の対応チェック、深さ優先探索などで使われます。
試験での見方
例:空のスタックにA、B、Cの順にpushした後、popするとCが取り出され、次にpopするとBが取り出されます。
FEでは、push/pop後のデータの並び、逆ポーランド記法、再帰呼出し、括弧の整合性確認などで出題されます。キューと混同しやすいので、「最後に入れたものが先に出る」かを必ず確認します。