本文へ移動
合格ノート.
基本情報技術者試験
基本情報技術者試験用語一覧を見る
テクノロジ

再帰とは

英語名:Recursion

ひとことで言うと:処理の中から同じ処理自身を、より小さな問題に対して呼び出して解く方法。

意味をわかりやすく解説

再帰処理では、自分自身を呼び出す再帰ケースと、呼出しを終了させる基底条件が必要です。基底条件がない、またはそこへ到達しないと呼出しが続き、スタックを使い果たす可能性があります。

階乗、木構造の巡回、分割統治法などで自然に表現できます。各呼出しの引数や局所変数、戻り先はコールスタックに積まれるため、呼出しと戻りの順序を追うことが重要です。

具体例

fact(n)=n×fact(n-1)、fact(0)=1 と定義すると、fact(4)=4×3×2×1=24になります。

似た用語との違い

繰返し

再帰は自分自身を呼び出し、繰返しはループ命令で同じ処理を続けます。同じ結果を表せる場合もあります。

基本情報技術者試験の試験ポイント

基底条件、再帰呼出し、スタック上の戻り順を確認します。単に「自分を呼ぶ」だけでは正しい再帰になりません。

CHECK QUESTION

再帰関数に終了条件となる基底条件が存在しない場合、何が起こる可能性がありますか。

答えを見る

再帰呼出しが続き、コールスタックを使い果たしてスタックオーバーフローになる可能性があります。

この説明は分かりやすかったですか?

基本情報技術者試験を勉強中ですか?

この用語を含む重要用語を、単語帳や4択テストで学習できます。