エが左側に出力できないのは、スタックの性質と操作の制約によります。スタックは後入れ先出し(LIFO: Last In, First Out)という構造で、最後に入れたデータが最初に取り出されます。
2016年度 秋期 ITパスポート 午前 問92
後に入れたデータが先に取り出されるデータ構造(以下,スタックという)がある。これを用いて、図に示すような、右側から入力されたデータの順番を変化させて、左側に出力する装置を考える。この装置に対する操作は次の3通りである。
① 右側から入力されたデータをそのまま左側に出力する。
② 右側から入力されたデータをスタックの1番上に積み上げる。
③ スタックの1番上にあるデータを取り出して左側に出力する。
この装置の右側から順番にデータ A, B, C, Dを入力した場合に、この①~③の操作を組み合わせても、左側に出力できない順番はどれか。
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
アは、Bをスタックに入れ(②)、Aをすぐに出力(①)し、次にBを取り出し(③)、Dをすぐに出力(①)、Cをスタックに入れ(②)、最後にCを取り出す(③)ことで実現可能です。イは、Bをスタックに入れ(②)、Dをスタックに入れ(②)、Cをスタックに入れ(②)、Bを取り出し(③)、Dを取り出し(③)、Aをすぐに出力(①)、Cを取り出す(③)という操作で実現できます。ウは、Cをスタックに入れ(②)、Bをスタックに入れ(②)、Dをスタックに入れ(②)、Aをすぐに出力(①)、Dを取り出し(③)、Bを取り出し(③)、Cを取り出し(③)という操作で実現できます。
エについて、C, D, A, Bの順で出力したい場合を考えます。まずCを出力するには、A, B, Cが入力された時点でCをスタックの一番上に置く必要があります。しかし、Cの前にAとBが入力されているため、Cをスタックに入れた後、AやBを取り出すことができなくなります。具体的には、Cを出力するには、A, B, Cの順で入力された場合、Cをスタックに入れ(②)、その後AまたはBをスタックに入れることになります。しかし、スタックの性質上、一番上にあるCを取り出す前に、後から入れたAやBを取り出すことはできません。したがって、C, D, A, Bの順で出力することは不可能です。
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「アルゴリズムとプログラミング」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
- 学習の進め方
- 擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
- 関連キーワード
- 計算量二分探索クイックソート再帰スタックキュー木構造
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
アルゴリズムとプログラミング の他の問題
- ITパスポート2009年度 秋期 午前 問47オブジェクト指向設計の特徴はどれか。
- ITパスポート2009年度 秋期 午前 問54数字が書かれた箱を図のように積み上げてある。表に示す操作を、操作1,操作2,操作3,操作4の順に行った場合、操作4が終わったときの箱の状態はどれか。
- ITパスポート2009年度 秋期 午前 問62小文字の英字からなる文字列の暗号化を考える。次表で英字を文字番号に変換し、変換後の文字番号について1文字目分には1を、2文字目分には2を,・・・, n文字目分にはnを加える。それぞれの数を26で割った余りを新たに文字番号とみなし、表から対応する英字に変換する。例fax→ 6,1,…
- ITパスポート2009年度 秋期 午前 問68アプレットに関する記述として、適切なものはどれか。
- ITパスポート2009年度 春期 午前 問72図1のように二つの正の数値 A1, A2 を読み取り、二つの数値 B1, B2 を出力するボックスがある。B1には A2と同じ数値を出力し、B2にはA1をA2で割った余りを出力する。図2のようにこのボックスを2個つないだ場合,A1=15, A2=6 のとき後方のボックスのB1に出…