ITパスポート試験 過去問解説
スタックとは?ITパスポート試験 2018年 (平成30年 秋期) 問76を解説
ITパスポート試験 2018年 (平成30年 秋期) 問76は、スタックに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
この問題の出題ポイント
- スタックの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- テクノロジ系分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
- 関連タグ: アルゴリズムとプログラミング、スタック、LIFO。
選択肢
- ア格納された順序に関係なく指定された任意の場所のデータを取り出す。
- イ最後に格納されたデータを最初に取り出す。正解
- ウ最初に格納されたデータを最初に取り出す。
- エデータがキーをもっており,キーの優先度でデータを取り出す。
正解
イ: 最後に格納されたデータを最初に取り出す。
解説
なぜ他の選択肢が違うのか
ア
誤り。格納順序に関係なく指定した任意の位置のデータを取り出すことは配列(Array)やランダムアクセスリストの特性。インデックス(添字)で直接任意の位置にアクセスするデータ構造であり、LIFOルール(最後に入れたものを最初に出す)で管理するスタックとは根本的に異なるアクセス方式を持つ。
イ(正解)
正解。スタックは最後に格納したデータを最初に取り出すLIFO(Last In First Out)構造。例えばA→B→Cの順に積み上げたら、取り出しはC→B→Aの順になる。皿を重ねて上から取る場合のイメージが分かりやすい。関数呼び出しのネスト管理(コールスタック)が典型的な用途。
ウ
誤り。最初に格納したデータを最初に取り出すのはキュー(Queue)のFIFO(First In First Out)構造。銀行・コンビニのレジ・プリンタの印刷待ち等のような先着順の待ち行列(待ち行列)をデータ構造で表現したもの。最後に入れたものを最初に出すスタックのLIFOとは逆の特性を持つ。
エ
誤り。データがキー(優先度)を持ち優先度の高いデータから取り出す構造は優先度付きキュー(Priority Queue)。タスクスケジューリング・緊急度に応じた処理順序の制御などに使われる。格納順序のみで取り出し順序が決まるスタックとは異なり、優先度という追加属性でアクセス順序が決まる。
解き方の整理
スタックの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連用語
関連問題
前後の問題
2018年 (平成30年 秋期) の関連する問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。