再帰とは?さいき
再帰とは、手続きが自分自身を呼び出す仕組み。「終了条件(基底)」と「自分自身をより小さい問題で呼ぶ部分」の2つで構成する。
最終更新:2026-10-07
この語が出る過去問を解く →具体例
階乗は「0!=1」「n!=n×(n−1)!」。ユークリッドの互除法は「gcd(a, 0)=a」「gcd(a, b)=gcd(b, a mod b)」。
試験での引っ掛け
再帰呼出しは実行中の状態をスタックに積むため、深さが大きいとスタックオーバフローを起こす。また、同じプログラムを複数から同時に呼べる性質は「再入可能(リエントラント)」であって再帰とは別概念。
関連用語
出た過去問
出典:平成30年度 春期 高度試験 午前Ⅰ 問3(IPA)解説で登場
再帰的な処理を実現するためには、再帰的に呼び出したときのレジスタ及びメモリの内容を保存しておく必要がある。そのための記憶管理方式はどれか。
正解:LIFO
要点:再帰呼出しの退避・復元はLIFO(スタック)で行う
再帰呼出しでは、呼び出しのたびに戻り番地やレジスタの内容、局所変数を退避し、復帰時には最後に退避したものから順に取り出す必要がある。この「後入れ先出し」の順序で管理する方式がLIFO(スタック)であり、実際にプログラムの実行時にはスタック領域が用いられる。
出典・参考
公式シラバスの1 基礎理論 > 2. アルゴリズム > (3) アルゴリズム設計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。