基本情報技術者試験 - 令和6年7月修了 - 問5
| ア | A,D,B,C |
|---|---|
| イ | B,D,A,C |
| ウ | C,B,D,A |
| エ | D,C,A,B |
答え : ウ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › データ構造
解説 :
スタックは「後入れ先出し」,つまり最後に入れたデータが最初に出てくるという性質を持つデータ構造です。A,B,C,Dの順に到着するデータについて,途中でスタックへの挿入と取り出しを自由に組み合わせられるとした場合,どの並び順が実現可能かを考えます。
「ウ」のC,B,D,Aという順番は,A,Bを積んだ後にCを積んで先に取り出し,続いてBを取り出し,その後Dを積んで取り出し,最後にAを取り出すという操作で実現できます。これが正解です。
一方,「ア」「イ」「エ」の並び順は,スタックの後入れ先出しの性質に反する取り出し順を含んでおり,一つのスタックだけでは実現できません。このような問題では,実際に紙の上でスタックへの出し入れを一つずつシミュレーションしてみると,どの選択肢が矛盾なく実現できるかを確認しやすくなります。
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › データ構造
解説 :
スタックは「後入れ先出し」,つまり最後に入れたデータが最初に出てくるという性質を持つデータ構造です。A,B,C,Dの順に到着するデータについて,途中でスタックへの挿入と取り出しを自由に組み合わせられるとした場合,どの並び順が実現可能かを考えます。
「ウ」のC,B,D,Aという順番は,A,Bを積んだ後にCを積んで先に取り出し,続いてBを取り出し,その後Dを積んで取り出し,最後にAを取り出すという操作で実現できます。これが正解です。
一方,「ア」「イ」「エ」の並び順は,スタックの後入れ先出しの性質に反する取り出し順を含んでおり,一つのスタックだけでは実現できません。このような問題では,実際に紙の上でスタックへの出し入れを一つずつシミュレーションしてみると,どの選択肢が矛盾なく実現できるかを確認しやすくなります。