応用情報暗記無料で始める

再帰呼出しとは?さいきよびだし

再帰呼出しとは、手続きが自分自身を呼び出す書き方。問題を同じ形のより小さな問題へ分解して解く場合に自然に記述でき、呼出しのたびに引数と戻り先がスタックへ積まれるため、これ以上分解しない終了条件を必ず用意する必要がある。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では3問の解説で触れられています(2017年度〜2025年度)。

応用情報技術者試験の頻出用語/テクノロジ系

この語が出る過去問を解く →

背景

木構造の探索や分割統治法では、処理すべき深さや個数が実行時まで決まらない。これを繰返しで書こうとすると、途中の状態を自分でスタックへ積み直す処理をコードに書き足すことになる。再帰呼出しは、その積み直しを言語処理系のコールスタックに任せる書き方であり、アルゴリズムの構造をそのまま写せる。擬似言語の追跡問題として出題される。

具体例

階乗は「nが1以下なら1、そうでなければn×階乗(n−1)」と書け、階乗(4)は最も内側の呼出しが戻り始めてから4×3×2×1と順に確定する。クイックソートや二分探索木の走査も同じ形で、分割統治法の実装をそのまま再帰として表現できる。

試験での引っ掛け

終了条件を書き忘れると呼出しが積まれ続け、スタック領域を使い切って異常終了する(スタックオーバフロー)。再帰は必ずしも高速ではなく、呼出しのオーバヘッドのぶん反復より遅いことが多い。素朴な再帰でフィボナッチ数を求めると同じ引数が何度も再計算され、計算量が指数的に膨らむ点も問われる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 3問の解説で触れられる(2017年度〜2025年度)
  • 分野:テクノロジ系
  • 終了条件を書き忘れると呼出しが積まれ続け、スタック領域を使い切って異常終了する(スタックオーバフロー)。