TGViewer
JavaScript заметки JavaScript заметки @notesjs · 7.46K subscribers
Post #3801 658
Рекурсия и оптимизация рекурсивных функций

В первой части кода есть простая рекурсивная функция factorial, которая вычисляет факториал числа n. Она вызывает себя с аргументом n - 1, пока n не станет меньше или равно 1.

Во второй части кода представлена оптимизированная версия функции factorialMemoized, которая использует мемоизацию. Мемоизация - это техника, при которой результаты предыдущих вызовов функции сохраняются в памяти и возвращаются в случае повторного вызова с теми же аргументами. В данном случае, мы используем объект memo для хранения результатов предыдущих вызовов factorialMemoized. Если результат уже вычислен для конкретного n, мы возвращаем его из memo, иначе вычисляем и сохраняем в memo.

Таким образом, оптимизированная версия factorialMemoized более эффективна при вычислении факториала для больших чисел, так как избегает переполнения стека вызовов, и вычисляет результаты только один раз для каждого n.

#полезное
More from @notesjs
  1. Sep 24, 2026Использование async/await для асинхронных операций async/await позволяет более чисто и лег…
  2. Sep 23, 2026Использование WebGL для создания интерактивных 3D-график в веб-приложениях WebGL позволяет…
  3. Sep 22, 2026Использование JavaScript BigInt для работы с большими целыми числами BigInt в JavaScript п…
  4. Sep 21, 2026Простой пример ИИ для управления роботом. TensorFlow + Node Js В данной статье я постараюс…
  5. Mar 17, 2026Как мы заинжектили кнопку на Behance Дело было год назад, не помню что я там забыл, но мне…
  6. Mar 16, 2026Группировка данных с помощью reduce Метод reduce применяется для агрегации значений в масс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →