平成28年度 春期 午前 問5
基礎理論
スタックに関する問題
A,B,C の順序で入力されるデータがある。各データについてスタックへの挿入と取出しを 1 回ずつ行うことができる場合,データの出力順序は何通りあるか。
〔図〕 スタックを縦の筒として描き,その上端に「A,B,C」と書かれた入力の矢印が下向きに入り,同じ上端から取出しの矢印が左向きに出ている(=挿入も取出しも上端の 1 か所だけで行う)。
- ア3
- イ4
- ウ5
- エ6
答えと解説を見る
✓ これが正解ウ5
解説
六通りの並びのうち、作れない一つを除いて五通りです。
三文字なので、並べ方を全部書き出してから一つずつ試すのがいちばん速い道です。並べ方は ABC・ACB・BAC・BCA・CAB・CBA の六通りしかありません。スタックは挿入も取出しも同じ一か所で行うので、後から入れたものが先に出ます。この決まりを頭に置いて、挿入と取出しの列が作れるかを順に見ます。ABC は入れてすぐ出すことを三回繰り返せば作れます。ACB は A を入れて出し、B と C を入れてから C・B の順に出せば作れます。BAC は A と B を入れて B・A の順に出し、最後に C を入れて出せば作れます。BCA は A と B を入れて B を出し、C を入れて出してから A を出せば作れます。CBA は三つとも入れてから出せば作れます。残る CAB だけは作れません。C を最初に出すには A と B が下に積まれている必要があり、その後は上から順に B・A としか取り出せないからです。よって六通りから一つ減って五通りになります。
ほかの選択肢はなぜ違うのか
- ア3:全部入れてから全部出すといった、思い付きやすい型だけを三つ数えた形です。途中で出し入れを混ぜる並びも実際には作れるので、数え落としが残っています。
- イ4:作れない並びが二つあると見た形です。実際に作れないのは、最後に入れたものを先に出してから元の順に戻る一つだけなので、一つ多く落としています。
- エ6:三文字の並べ方をそのまま答えにした形です。後から入れたものが先に出るという決まりが効くので、並べ方のうち一つは操作の列に直せません。
出典:平成28年度 春期 応用情報技術者試験 午前 問5
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)