基本情報技術者
テクノロジ系
スタックの説明として適切なものはどれか。
1.
最初に入れたデータが最初に取り出せるデータ構造
2.
最後に入れたデータが最初に取り出せるデータ構造
✓ 正解
3.
データをランダムに取り出せるデータ構造
4.
データを優先度順に取り出せるデータ構造
📝 解説
スタック(Stack)はLIFO(Last In First Out:後入れ先出し)のデータ構造で、最後に追加(プッシュ)したデータが最初に取り出せる(ポップ)構造です。食器洗い後の皿の積み重ねを想像してください。洗った皿を順番に重ねていくと、一番上(最後に置いた)皿から順に取り出します。スタックの操作はPush(積む)とPop(取る)の2種類だけで、とてもシンプルです。実際の用途としては、プログラムの関数呼び出し管理(呼び出した逆順に戻るためスタックで管理)・ブラウザの「戻る」ボタン(前ページを順番に積んで逆順に戻る)・テキストエディタのundo機能(操作を積んで逆順にやり直す)・数式の逆ポーランド記法の計算に使われています。誤答の「最初に入れたデータが最初に取り出せる」はキュー(FIFO)の説明、「ランダムに取り出せる」は配列・ハッシュ、「優先度順に取り出せる」は優先度付きキュー(ヒープ)の説明です。「スタック=LIFO=後入れ先出し=Push/Pop」という組み合わせをセットで覚えましょう!