メインコンテンツへスキップ
ITパスポート2010年度 春期午前85

2010年度 春期 ITパスポート 午前85

難度標準

下から上へデータを積み上げ、上にあるデータから順に取り出すデータ構造(以下,スタックという)がある。これを用いて、図に示すような、右側から入力されたデータの順番を変化させて、左側に出力する装置を考える。この装置に対する操作は次の3通りである。

① 右側から入力されたデータをそのまま左側に出力する。

② 右側から入力されたデータをスタックに積み上げる。

③ スタックの1番上にあるデータを取り出して左側に出力する。

この装置の右側から順番に X, Y, Zを入力した場合に,この①~③の操作を組み合わせても、左側に出力できない順番はどれか。

選択肢

X, Z, Y
Y, Z, X
Z, X, Y
Z, Y, X

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

エが正解となるのは、スタックの特性と操作の制約から、Z, Y, X の順番で出力することが不可能だからです。スタックは「後入れ先出し(LIFO)」のデータ構造であり、後から入れたものが先に出てきます。

詳細Layer 2

ア: X, Z, Y は、まずXを②でスタックに入れ、次にYを②でスタックに入れ、Zを①で直接出力し、その後Yを③で取り出し、最後にXを③で取り出すことで実現可能です。

イ: Y, Z, X は、まずXを②でスタックに入れ、次にYを②でスタックに入れ、Zを③で取り出し、その後Yを③で取り出し、最後にXを③で取り出すことで実現可能です。

ウ: Z, X, Y は、まずXを②でスタックに入れ、次にYを②でスタックに入れ、Zを③で取り出し、その後Xを③で取り出し、最後にYを③で取り出すことで実現可能です。

補足Layer 3

エ: Z, Y, X を出力しようとすると、Zが最初に出力されるためには、YとXよりも先にZがスタックから取り出される必要があります。しかし、X, Y, Z の順で入力された場合、Zがスタックの一番上に来るのは、XとYがスタックに積まれた後です。その場合、Zを取り出した後、次にYを取り出すためには、YはZよりもスタックの深い位置にあり、直接取り出すことはできません。したがって、Z, Y, X の順番での出力は、スタックのLIFOの性質上不可能となります。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「アルゴリズムとプログラミング」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
学習の進め方
擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
関連キーワード
計算量二分探索クイックソート再帰スタックキュー木構造
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

アルゴリズムとプログラミング の他の問題