再帰を使った最適化.動的計画法は、多周期ないし多段階の最適化問題を再帰形式で再記述する数理最適化へのアプローチ手法である。動的計画法の主な成果がベルマン方程式で、これは最適化問題の直近時(直近段階)での値を、その次回時刻(次段階)における値の観点から記述するものである。再帰定理.集合論において、これは再帰的定義がなされた関数が存在することを保証する定理である。集合と、の要素と、関数が与えられた場合に、任意の自然数について一意性の証明.ここではの要素である。すべての自然数についてであることは数学的帰納法によって証明できる。計算機科学.単純化の一般的な方法は、問題を同じ種類の小問に分割することである。コンピュータプログラミングの技法としてこれは分割統治法と呼ばれ、多くの重要なアルゴリズム設計の鍵となる。分割統治法は、問題解決へのトップダウン型アプローチとして機能し、そこでは問題がより小さなインスタンスを解決することにより解決される。反対のアプローチ手法は動的計画法である。こちらはボトムアップ型アプローチとして機能し、目的の規模に達するまでより大きなインスタンスを解決することによって問題が解決される。アルゴリズムにおける再帰の使用には、長所も短所もある。主な長所は、一般に命令の単純さである。主な短所は、自身を呼び出す手法なので引数が再帰終了条件を満たさない状況を避けるよう値の変化に注意する必要があること。また、再帰アルゴリズムのメモリ使用量が著しく激増して負荷ががかかるため、大規模なインスタンスを扱うには非実用的な点である。再帰呼出し.手続きや関数といった概念をもつプログラミング言語では、ある手続き中で再びその手続き自身を呼び出すことを認める場合が多い。これを再帰呼出しといい、階乗計算やフィボナッチ数列のように、本来再帰的な構造をもつアルゴリズム(再帰的アルゴリズム)を記述するのに適している。再帰的データ構造.連結リストや木構造は、要素(ノード)の型の中にその要素型自身への参照(自己参照)が存在するようなデータ型を用いて実現される。これは再帰的データ構造(再帰データ型)である。再帰的データ構造の探索には、再帰呼び出しを使うことが多い。下記はJavaでの例。Treeのクラス定義の中でTreeを使用している。