テクノロジ
再帰とは
英語名:Recursion
ひとことで言うと:処理の中から同じ処理自身を、より小さな問題に対して呼び出して解く方法。
意味をわかりやすく解説
再帰処理では、自分自身を呼び出す再帰ケースと、呼出しを終了させる基底条件が必要です。基底条件がない、またはそこへ到達しないと呼出しが続き、スタックを使い果たす可能性があります。
階乗、木構造の巡回、分割統治法などで自然に表現できます。各呼出しの引数や局所変数、戻り先はコールスタックに積まれるため、呼出しと戻りの順序を追うことが重要です。
具体例
fact(n)=n×fact(n-1)、fact(0)=1 と定義すると、fact(4)=4×3×2×1=24になります。
似た用語との違い
繰返し
再帰は自分自身を呼び出し、繰返しはループ命令で同じ処理を続けます。同じ結果を表せる場合もあります。
基本情報技術者試験の試験ポイント
基底条件、再帰呼出し、スタック上の戻り順を確認します。単に「自分を呼ぶ」だけでは正しい再帰になりません。
CHECK QUESTION
再帰関数に終了条件となる基底条件が存在しない場合、何が起こる可能性がありますか。
答えを見る
再帰呼出しが続き、コールスタックを使い果たしてスタックオーバーフローになる可能性があります。
この説明は分かりやすかったですか?
基本情報技術者試験を勉強中ですか?
この用語を含む重要用語を、単語帳や4択テストで学習できます。