基本情報技術者試験 - 令和6年7月修了 - 問5

A,B,C,Dの順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
アA,D,B,C
イB,D,A,C
ウC,B,D,A
エD,C,A,B
答え : ウ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › データ構造
同一問題 : 〔令3修6問7〕〔令1修12問7〕〔平29秋問5〕〔平28修7問5〕〔平26修6問5〕〔平23修6問6〕〔平22秋問5〕
解説 :
スタックは「後入れ先出し」,つまり最後に入れたデータが最初に出てくるという性質を持つデータ構造です。A,B,C,Dの順に到着するデータについて,途中でスタックへの挿入と取り出しを自由に組み合わせられるとした場合,どの並び順が実現可能かを考えます。

「ウ」のC,B,D,Aという順番は,A,Bを積んだ後にCを積んで先に取り出し,続いてBを取り出し,その後Dを積んで取り出し,最後にAを取り出すという操作で実現できます。これが正解です。

一方,「ア」「イ」「エ」の並び順は,スタックの後入れ先出しの性質に反する取り出し順を含んでおり,一つのスタックだけでは実現できません。このような問題では,実際に紙の上でスタックへの出し入れを一つずつシミュレーションしてみると,どの選択肢が矛盾なく実現できるかを確認しやすくなります。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる