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