ITパスポート試験 ITパスポート 2018年 (平成30年 秋期)76: 複数のデータが格納されているスタックからのデータの取出し方として,適切なものはどれか。

ITパスポート 2018年 (平成30年 秋期)
Q 7676 / 100
複数のデータが格納されているからのデータの取出し方として,適切なものはどれか。
この問の正解率:73.36%(1,385件)

解説

ITパスポート 2018年 (平成30年 秋期) 問76「複数のデータが格納されているスタックからのデータの取出し方として,適切なものはど…」の正解と解説です。ITパスポート試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約73%です。

正解

. 最後に格納されたデータを最初に取り出す。

正答率 73.4%(1,385人中 1,016人が正解)

問題の解説

スタック(Stack)はLIFO(Last In First Out=後入れ先出し)の特性を持つデータ構造。最後に格納したデータが最初に取り出される。Push(データの追加)とPop(データの取り出し)操作を持つ。プログラムの関数呼び出し管理(コールスタック)・計算機の逆ポーランド記法評価・ブラウザの「戻る」機能・再帰処理などに使われる。対比概念はキュー(Queue)でFIFO(First In First Out=先入れ先出し)の特性を持ち最初に格納したデータを最初に取り出す。両者の特性の違いを正確に把握することが重要。

選択肢ごとの解説

  • 誤り。格納順序に関係なく指定した任意の位置のデータを取り出すことは配列(Array)やランダムアクセスリストの特性。インデックス(添字)で直接任意の位置にアクセスするデータ構造であり、LIFOルール(最後に入れたものを最初に出す)で管理するスタックとは根本的に異なるアクセス方式を持つ。
  • 正解。スタックは最後に格納したデータを最初に取り出すLIFO(Last In First Out)構造。例えばA→B→Cの順に積み上げたら、取り出しはC→B→Aの順になる。皿を重ねて上から取る場合のイメージが分かりやすい。関数呼び出しのネスト管理(コールスタック)が典型的な用途。
  • 誤り。最初に格納したデータを最初に取り出すのはキュー(Queue)のFIFO(First In First Out)構造。銀行・コンビニのレジ・プリンタの印刷待ち等のような先着順の待ち行列(待ち行列)をデータ構造で表現したもの。最後に入れたものを最初に出すスタックのLIFOとは逆の特性を持つ。
  • 誤り。データがキー(優先度)を持ち優先度の高いデータから取り出す構造は優先度付きキュー(Priority Queue)。タスクスケジューリング・緊急度に応じた処理順序の制御などに使われる。格納順序のみで取り出し順序が決まるスタックとは異なり、優先度という追加属性でアクセス順序が決まる。

ITパスポート 2018年 (平成30年 秋期) の過去問一覧に戻る・問76

ITパスポート試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

ITパスポート試験 合格.dev を App Store でダウンロード