平成30年度 春期 応用情報技術者試験 午前 問8
テクノロジ/アルゴリズム再帰的な処理を実現するためには,再帰的に呼び出したときのレジスタ及びメモリの内容を保存しておく必要がある。そのための記憶管理方式はどれか。
出典:平成30年度 春期 応用情報技術者試験 午前 問8
- アFIFO
- イLFU
- ウLIFO
- エLRU
正解:ウ
解説
再帰呼出しでは,呼び出すたびにその時点のレジスタやローカル変数の内容を退避し,戻ってきたときに最後に退避した内容から順に復元する必要があります。この「後入れ先出し」の性質はLIFO(スタック)による記憶管理で実現されます。
選択肢ごとの解説
- ア誤り。FIFO(先入れ先出し)は,キューなどで用いられる方式で,再帰呼出しの退避・復元の順序とは逆になります。
- イ誤り。LFU(Least Frequently Used)は,使用頻度が最も低いものを置き換えるキャッシュやページ置換えのアルゴリズムです。
- ウ正しい。再帰呼出しのレジスタやメモリ内容は,呼び出された順とは逆の順序で復元する必要があるため,LIFO(スタック)による管理が適しています。
- エ誤り。LRU(Least Recently Used)は,最も長く使われていないものを置き換えるページ置換えアルゴリズムです。