LINEで個別相談
プログラミング 2026-04-09

IT用語: 再帰処理(Recursion)とは|関数が自分自身を呼び出す仕組み

再帰処理の概念・ベースケースの重要性・階乗計算やツリー探索での活用例を解説。

再帰処理とは

再帰処理は、関数が自分自身を呼び出すことで問題を解く手法です。「大きな問題を同じ構造の小さな問題に分割する」というアプローチで、ツリー構造の探索・ファイルシステムの走査・フィボナッチ数列等の計算に自然に表現できます。

必ず「終了条件(ベースケース)」が必要

function factorial(n) {
  if (n <= 1) return 1;      // ベースケース: ここで止まる
  return n * factorial(n - 1); // 再帰呼び出し
}
factorial(5); // → 120 (5×4×3×2×1)

ベースケースがないと無限に自分を呼び出し「スタックオーバーフロー」エラーで止まります。

再帰 vs ループ

理論上、再帰で書けるものはループでも書けます。ループの方がメモリ効率は良いですが、ツリー構造やグラフの探索では再帰の方が直感的に書けます。深いネストがある場合は「末尾再帰最適化」や「メモ化(Memoization)」でパフォーマンスを改善できます。

関連する用語 (プログラミング)

全33件を見る

IT用語: DRY原則とは|「繰り返しを避けよ」というプログラミングの鉄則

Don't Repeat Yourself(DRY)原則の意味と、WET(重複だらけ)なコードが引き起こす問題と対処法を解説。

詳しく読む

SPA(シングルページアプリケーション)

ページ遷移時にブラウザをリロードせず、JavaScriptで動的にコンテンツを更新するWebアプリのアーキテクチャ。React・Vue・Angularで実装されることが多い。

詳しく読む

JAMstack

JavaScript・APIs・Markupの頭文字をとったWebアーキテクチャ。ビルド時に静的HTMLを生成し、動的機能はAPIで補完することで高速・安全・スケーラブルなWebサイトを実現する。

詳しく読む

Jest(ジェスト)

MetaがReact向けに開発したJavaScript/TypeScriptのテストフレームワーク。ゼロ設定で動作・スナップショットテスト・モック機能を標準搭載し、フロントエンドテストのデファクトスタンダード。

詳しく読む

SSR(サーバーサイドレンダリング)

Webページをサーバー側でHTMLとして生成してからクライアントに送信する手法。SPAのSEO問題を解決し、初期表示を高速化できる。Next.js・Nuxt.jsで実装されることが多い。

詳しく読む

IT用語: 型安全性(Type Safety)とは|TypeScriptが防ぐバグの種類

コンパイル時に型の不一致を検出する「型安全性」の概念と、JavaScriptからTypeScriptへの移行がなぜ有効なのかを解説。

詳しく読む

Sponsored Link

バグ・要望を報告する