問題 No.1719
コンピュータのデータ構造の一種である「スタック」に関する記述として、最も適切なものはどれか。
【正解の解説】
最後に入力したデータを最初に取り出す後入れ先出し(LIFO)方式で処理されるデータ構造である。
スタックは「本を積み上げる」イメージです。最後に置いた本が一番最初に取り出されるように、最も新しいデータから順に処理する仕組みです。関数呼び出しの戻り番地管理や、ブラウザの「戻る」ボタンの履歴管理など、コンピュータ内部の効率的な処理において極めて重要な役割を果たします。
スポンサーリンク
【その他の選択肢の解説】
最初に入力したデータを最初に取り出す先入れ先出し(FIFO)方式で処理されるデータ構造である。
FIFOは「行列に並んだ順に処理される」仕組みです。スタックのLIFOとは真逆の動きであり、プリンタの印刷待ちやデータのバッファリングなど、順番を厳守すべき場面で活用されます。
要素をポインタで順次つなぎ合わせ、動的にデータの追加や削除を行うデータ構造である。
連結リストは、各データが次のデータの場所を指し示す(ポインタ)ことで順序を保つ構造です。メモリ上での配置を物理的に連続させる必要がないため、データの挿入や削除が非常に効率的ですが、スタックのような後入れ先出しの特性とは異なります。
キーと値のペアでデータを保持し、キーを指定することで高速にデータを取り出せる構造である。
キーを用いて高速に値を探し出すことに特化した構造です。スタックのように入出力の順序が決まっているものではなく、特定のデータを一瞬で検索したい辞書のような仕組みを実現する際に用いられます。