Глоссарий

Рекурсия

Рекурсия — функция, вызывающая сама себя для решения подзадачи меньшего размера. Классическое применение: обход деревьев, разделение задачи на подзадачи (divide and conquer), математические последовательности.

Два обязательных элемента

Пример: обход каталогов

function scanDir(string $path): array {
  $result = [];
  foreach (scandir($path) as $item) {
    if ($item === '.' || $item === '..') continue;
    $full = "$path/$item";
    $result[] = is_dir($full) ? scanDir($full) : $full;
  }
  return $result;
}

Рекурсия vs Итерация

Рекурсия элегантна для задач с естественной древовидной структурой. Но каждый вызов занимает место в стеке. Глубокая рекурсия может вызвать stack overflow. Для больших глубин — итерационный подход с явным стеком.