平成30年度春期 応用情報技術者試験 午前 問8

分野:アルゴリズムとプログラミング|実際に出題されたIPA過去問題

再帰的な処理を実現するためには,再帰的に呼び出したときのレジスタ及びメモリの内容を保存しておく必要がある。そのための記憶管理方式はどれか。

  1.  FIFO
  2.  LFU
  3.  LIFO
  4.  LRU
解答・解説を見る

正解:ウ

AI解説

IPA公式解答例による正解は「ウ」。再帰呼出しでは、呼び出すたびにレジスタや局所変数の内容を保存し、処理が戻るときには最後に保存したものから順に取り出して復元する必要がある。この「後入れ先出し」の管理はLIFO(Last In First Out)であり、スタックによって実現される。 ア: 誤り。FIFO(First In First Out:先入れ先出し)はキューの方式であり、ページ置換えアルゴリズムの名称としても使われるが、再帰の退避・復元には適さない。 イ: 誤り。LFU(Least Frequently Used)は参照頻度が最も少ないものを置き換えるキャッシュ・ページ置換えアルゴリズムである。 ウ: 正しい。LIFO(後入れ先出し)は最後に保存した情報を最初に取り出す方式で、再帰呼出しの戻り処理と順序が一致する。スタックで実現される。 エ: 誤り。LRU(Least Recently Used)は最も長く参照されていないものを置き換えるページ置換えアルゴリズムである。 💡 「再帰・関数呼出し=スタック=LIFO」は反射で答えられるようにする。LFU(頻度)とLRU(最近使われていない)はページ置換えアルゴリズムの用語で、並んでいても慌てないこと。

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

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

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

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

同じ分野(アルゴリズムとプログラミング)の過去問