平成24年度秋期 応用情報技術者試験 午前 問5

分野:アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語)|実際に出題されたIPA過去問題

配列を用いてスタックを実現する場合の構成要素として,最低限必要なものはどれか。

  1.  スタックに最後に入った要素を示す添字の変数
  2.  スタックに最初に入った要素と最後に入った要素を示す添字の変数
  3.  スタックに一つ前に入った要素を示す添字の変数を格納する配列
  4.  スタックの途中に入っている要素を示す添字の変数
解答・解説を見る

正解:ア

AI解説

スタックは後入れ先出し(LIFO)のデータ構造で、挿入(push)も取出し(pop)も常に最上部(トップ)だけで行う。したがって配列で実現する場合、最低限必要なのは最後に入った要素の位置を示す添字変数(スタックポインタ)一つだけである。 ア: 正解。トップ位置を示す添字が一つあれば、pushで加算・popで減算するだけで操作できる。 イ: 最初と最後の両方の位置が必要なのは、先頭から取り出し末尾に追加するキュー(FIFO)を配列で実現する場合である。 ウ: 一つ前の要素への参照を各要素にもたせるのは連結リストによる実現方法であり、配列では添字の増減で足りるため不要である。 エ: スタックは途中の要素に直接アクセスしない構造であり、途中を指す添字は不要である。 💡 スタック=LIFO=ポインタ1本(トップのみ)、キュー=FIFO=ポインタ2本(先頭と末尾)と対で覚えると、この種の問題は即答できる。

出典:平成24年度 秋期 応用情報技術者試験 午前 問5 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

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

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語))の過去問