問題本文
加減乗除を組み合わせた計算式の処理において,スタックを利用するのが適している処理はどれか。
選択肢
- ア.格納された計算の途中結果を,格納された順番に取り出す処理
- イ.計算の途中結果を格納し,別の計算を行った後で,その計算結果と途中結果との計算を行う処理
- ウ.昇順に並べられた計算の途中結果のうち,中間にある途中結果だけ変更する処理
- エ.リストの中間にある計算の途中結果に対して,新たな途中結果の挿入を行う処理
正解
イ. 計算の途中結果を格納し,別の計算を行った後で,その計算結果と途中結果との計算を行う処理
解説
スタックはLIFO(後入先出)で動作し、計算の途中結果を一時退避→別計算→退避結果と組み合わせ、という用途に最適です。逆ポーランド記法の評価でも使われます。
選択肢ごとの解説
- ア.格納順に取り出すのはキュー(FIFO)の特性で、スタックでは逆順になります。
- イ.途中結果を積んでおき後で取り出すというのはまさにスタックの活用例です。
- ウ.昇順並びの中間要素アクセスは配列やリストの操作で、スタックには向きません。
- エ.中間挿入はリストやデックの操作で、スタックの基本操作にありません。
基本情報技術者試験 平成26年度 秋期 午前 の過去問一覧へ戻る・問5