応用情報技術者
アルゴリズムとプログラミング
再帰(リカーシブ)呼び出しを含む関数の特徴はどれか。
1.
関数の中で自分自身を呼び出す。
✓ 正解
2.
引数を取ることができない。
3.
戻り値が常にボイド(空)である。
4.
グローバル変数を書き換えることができない。
📝 解説
再帰(リカーシブ)呼び出しとは「関数の中で自分自身を呼び出す」手法です。鏡の前に鏡を置いたときの「鏡の中の鏡」のような構造をイメージしてください。例えば5の階乗は「5! = 5 × 4!」→「4! = 4 × 3!」→…→「1! = 1(終了条件)」のように問題を小さな同形の問題に分解します。大切なのは「終了条件(基底ケース)」を必ず設けること。なければ無限ループとなりスタックオーバーフローが発生します。木構造の全探索、ハノイの塔なども再帰で自然に表現できます。誤答の「引数を取れない」「戻り値が常にvoid」「グローバル変数を書き換えられない」はいずれも再帰とは無関係です!