12 прочтений · 4 месяца назад
Хвостовая рекурсия в JavaScript!
Что такое хвостовая рекурсия? Хвостовая рекурсия — это форма рекурсии, при которой рекурсивный вызов функции происходит в самом конце функции и является последним действием перед возвратом результата. Это важное свойство позволяет компилятору или интерпретатору оптимизировать выполнение рекурсивных вызовов и снизить потребление памяти. Преимущества хвостовой рекурсии Примеры использования рекурсии Обычная рекурсия Рассмотрим пример вычисления максимального элемента в массиве с использованием обычной рекурсии: function findMax(arr) { if (arr...
1,9K прочтений · 4 года назад
Чем хвостовая рекурсия отличается от обычной?
На днях сёрфил глобальное пространство в поисках полезных вещей и наткнулся на статью, которая мне показалась в высшей степени замечательной. Такие вещи как рекурсия и продолжения (continuations) далеко не самые простые вещи в программировании, но вместе с ней мы с вами сможем сделать ещё один шаг в их понимании. Материал достаточно объемный, поэтому будет разбит на несколько частей. В этой части немного о рекурсии и TCO (tail-call optimization) Ссылка на источник в конце заметки. Вторая часть Заключительная...