Глосарій

Рекурсія

Рекурсія — функція, що викликає сама себе для вирішення підзадачі меншого розміру. Класичне застосування: обхід дерев, ділення задачі на підзадачі (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. Для великих глибин — ітераційний підхід з власним стеком.