この問題は、スタックの操作における順列の数を問うものです。スタックは後入れ先出し(LIFO: Last-In, First-Out)のデータ構造であり、要素を格納(Push)し、格納された要素を取り出す(Pop)ことができます。
令和7年度 春期 応用情報技術者 午前 問5
A, B, C の順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合、データの出力順序は何通りあるか。
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
A, B, C の順序で入力されるデータについて、各データに対して挿入と取出しを1回ずつ行う場合の出力順序を考えます。これは、入力順序 A, B, C に従いながら、Push と Pop の操作を適切に組み合わせることで得られる出力の並びです。
具体的には、以下の5通りの操作シーケンスとそれに対応する出力順序が考えられます。
1. Push A, Pop A, Push B, Pop B, Push C, Pop C → 出力: ABC
2. Push A, Pop A, Push B, Push C, Pop C, Pop B → 出力: ACB
3. Push A, Push B, Pop B, Pop A, Push C, Pop C → 出力: BAC
4. Push A, Push B, Pop B, Push C, Pop C, Pop A → 出力: BCA
5. Push A, Push B, Push C, Pop C, Pop B, Pop A → 出力: CBA
アの3通りでは、スタック操作による多様な出力順序を考慮できていません。イの4通りも同様に、考えられる全ての順列を網羅していません。エの6通りは、もし挿入順序の制約がなければ考えられる順列の総数(3! = 6)に等しくなりますが、ここでは入力順序 A, B, C が固定されているため、それだけでは正解となりません。この問題で示された5通りが、スタックの性質を考慮した正確な出力順序の数です。
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「アルゴリズムとプログラミング」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
- 学習の進め方
- 擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
- 関連キーワード
- 計算量二分探索クイックソート再帰スタックキュー木構造
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
アルゴリズムとプログラミング の他の問題
- 応用情報技術者令和5年度 春期 午前 問6従業員番号と氏名の対がn件格納されている表に線形探索法を用いて、与えられた従業員番号から氏名を検索する。この処理における平均比較回数を求める式はどれか。ここで、検索する従業員番号はランダムに出現し、探索は常に表の先頭から行う。また、与えられた従業員番号がこの表に存在しない確率をa…
- 応用情報技術者令和5年度 春期 午前 問7配列に格納されたデータ 2, 3, 5, 4,1に対して、クイックソートを用いて昇順に並べ替える。2回目の分割が終わった状態はどれか。ここで、分割は基準値より小さい値と大きい値のグループに分けるものとする。また、分割のたびに基準値はグループ内の配列の左端の値とし、グループ内の配列…
- 応用情報技術者令和5年度 春期 午前 問19ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで、複数のデータが同じハッシュ値になることはないものとする。
- 応用情報技術者令和5年度 秋期 午前 問3逆ポーランド表記法(後置記法)で表現されている式 ABCD-×+において、A=16, B=8, C=4, D=2のときの演算結果はどれか。逆ポーランド表記法による式AB+は、中置記法による式A+Bと同一である。
- 応用情報技術者令和5年度 秋期 午前 問5双方向リストを三つの一次元配列 elem[i], next[i], prev[i]の組で実現する。双方向リストが図の状態のとき、要素Dの次に要素Cを挿入した後のnext[6], prev[6]の値の組合せはどれか。ここで、双方向リストは次のように表現する。 ・双方向リストの要素は…