令和7年度 春期 ITストラテジスト試験 システムアーキテクト試験 ネットワークスペシャリスト試験 ITサービスマネージャ試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問3

テクノロジアルゴリズム

この問題は2025(R7)春 高度試験共通 午前Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

A, B, Cの順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合,データの出力順序は何通りあるか。

データの流れとスタック
図の説明テキスト

「A, B, C」というデータが右から左へ流れる経路と、そこから分岐して下向きの矢印で「スタック」と書かれた四角い枠へ入る経路、さらにそこから取り出されて左向きに進む経路を示す模式図。

解答・解説を読む

正解: 選択肢

スタックは最後に入力されたデータが最初に取り出されるLIFO(後入れ先出し:Last In First Out)形式のデータ構造です。

入力データがA、B、Cの順であるため、スタックへの挿入と取出しの組み合わせによって出力される順序を考えます。出力可能な順序は以下の5通りです。

  1. Aを挿入→Aを取出し→Bを挿入→Bを取出し→Cを挿入→Cを取出し (出力順:A, B, C
  2. Aを挿入→Aを取出し→Bを挿入→Cを挿入→Cを取出し→Bを取出し (出力順:A, C, B
  3. Aを挿入→Bを挿入→Bを取出し→Aを取出し→Cを挿入→Cを取出し (出力順:B, A, C
  4. Aを挿入→Bを挿入→Bを取出し→Cを挿入→Cを取出し→Aを取出し (出力順:B, C, A
  5. Aを挿入→Bを挿入→Cを挿入→Cを取出し→Bを取出し→Aを取出し (出力順:C, B, A

なお、3つのデータの並び替え(順列)は全部で 3!=63! = 6 通りありますが、「C, A, B」という順序だけは出力不可能です。なぜなら、最初に取り出されたデータがCである場合、スタック内には下からA、Bの順で積まれている状態であり、次に取り出せるのは必ず一番上のBとなるためです。

したがって、データの出力順序は5通りとなります。

各選択肢の解説

  • ア(3): 誤り。スタックの操作によって5通りの出力順序が可能です。
  • イ(4): 誤り。スタックの操作によって5通りの出力順序が可能です。
  • ウ(5): 正解。上記で列挙した通り、5通りの出力順序が存在します。
  • エ(6): 誤り。これは単なる順列の数(3!=63! = 6 通り)であり、スタックの性質上出力できない「C, A, B」という順序が含まれてしまいます。