再帰とは?さいき
再帰とは、関数やアルゴリズムが自分自身を呼び出す仕組み。問題をより小さな同種の問題に分割して解く手法(分割統治法)と相性がよく、終了条件(ベースケース)を必ず設ける必要がある。
最終更新:2026-10-10
基本情報を最短で暗記・合格する →背景
大きな問題の中に、同じ形で小さな問題が入っている場面は多い。ループだけで書くと途中の値を自分で管理しなければならず、読みにくくなる。「より小さな入力で自分自身を呼ぶ」と書けば、定義をほぼそのまま写した短い記述になる。ただし、どこで止めるかを書かないと終わらない。
具体例
階乗n!を求める関数は「n! = n × (n-1)!」「0! = 1(終了条件)」という定義に従い、自分自身を呼び出して計算する。3!なら、3! = 3 × 2!、2! = 2 × 1!、1! = 1 × 0!、0! = 1 と呼び出しが1段ずつ深くなり、終了条件に届いたところで 1! = 1、2! = 2、3! = 6 と戻りながら答えが決まる。マージソートやクイックソートも再帰を使って実装されることが多い。
試験での引っ掛け
終了条件を設定し忘れると無限に呼び出しが続き、呼び出し履歴を積むスタック領域が枯渇してスタックオーバーフローを起こす。
関連用語
出典・参考
公式シラバスの1 基礎理論 > 2. アルゴリズム > (3) アルゴリズム設計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。