再帰
意味・解説
ある関数や手続きの中で、自分自身を呼び出すこと。リカージョン。
複雑な問題を、より小さな「同じ構造の問題」に分解して解く手法。再帰呼び出し。必ず「終了条件」を設定する必要があり、これがないと無限ループに陥り、メモリを使い果たして停止する(スタックオーバーフロー)。階乗の計算、クイックソート、ツリー構造(木構造)の探索などのアルゴリズムで多用される。
くわしく
「大きなマトリョーシカの中に、一回り小さな同じマトリョーシカが入っているような構造」のことです。
1.仕組み:
例えば「10までの合計」を求める時、「10 + (9までの合計)」と定義します。さらに「9までの合計」は「9 + (8までの合計)」…と自分を呼び続け、最後に「1」になったら計算を止める、という流れになります。
2.メリット:
コードが非常に簡潔に書ける一方、処理を追いかけるのが難しくなる側面もあります。
例文
フォルダ内のサブフォルダを全て検索するため、再帰呼び出しを用いたプログラムを実装した。
同義語: 再帰呼び出し, リカージョン
対義語: 反復 (イテレーション)
分類: プログラミング技法