再帰呼出しとは?
再帰呼出しとは、手続きが自分自身を呼び出す書き方。問題をより小さい同じ形の問題に分解して解く場合に自然に書ける。呼出しごとに引数や戻り先がスタックへ積まれるため、終了条件(これ以上分解しない場合)が必ず要る。
基本情報技術者試験の過去問では1回出題されています。
さいきよびだし
再帰呼出しの意味
手続きが自分自身を呼び出す書き方。問題をより小さい同じ形の問題に分解して解く場合に自然に書ける。呼出しごとに引数や戻り先がスタックへ積まれるため、終了条件(これ以上分解しない場合)が必ず要る。
再帰呼出しの具体例
階乗を求める手続きは「n が1以下なら1を返し、そうでなければ n×階乗(n−1) を返す」と書ける。階乗(4) は 4×3×2×1 と展開され、最も内側の呼出しが戻り始めてから順に掛け算が確定していく。
再帰呼出しは試験でどう引っ掛けられる?
終了条件を書き忘れると呼出しが無限に積まれ、スタック領域を使い切って異常終了する(スタックオーバフロー)。また再帰は必ずしも高速ではなく、呼出しのオーバヘッドの分だけ反復より遅いことが多い。
再帰呼出しと関連する用語
再帰呼出しが出た過去問
再帰呼出しの説明はどれか。
正解:関数の中で自分自身を用いた処理を行うこと
要点:再帰呼出しは関数が自分自身を呼ぶこと。終了条件が必須
再帰呼出しとは、ある関数の処理の中でその関数自身を呼び出すことをいう。階乗やハノイの塔、木構造の探索のように、同じ形のより小さい問題に帰着できる処理を簡潔に書ける。呼出しごとにスタックへ戻り番地と局所変数が積まれるため、終了条件を必ず用意する必要がある。
出典:平成29年度 秋期 基本情報技術者試験 午前 問6(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。