Встречается на собеседованиях • сегодня

Что такое хвостовая рекурсия

Хвостовая рекурсия — это частный случай рекурсии, когда рекурсивный вызов является последней операцией в функции. В этом случае стек вызовов не растёт, так как компилятор/интерпретатор может оптимизировать его в итерацию.

Пример (не хвостовая рекурсия):

javascript
function factorial(n) {
    if (n <= 1) return 1;
    return n * factorial(n - 1); // Умножение после вызова
}

Пример (хвостовая рекурсия):

javascript
function factorial(n, acc = 1) {
    if (n <= 1) return acc;
    return factorial(n - 1, n * acc); // Вызов — последняя операция
}

В ES6 хвостовая рекурсия поддерживается, но не во всех движках. Для гарантированной оптимизации лучше использовать циклы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы