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

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

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

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

#полезное
More from @notesjs
  1. Sep 27, 2026Webpack vs esbuild — уже можно использовать в production? Периодически я пробую разные инс…
  2. Sep 26, 2026Добавление WebAuthn в веб-приложение В этой статье мы научимся добавлять WebAuthn в веб‑пр…
  3. Sep 25, 2026React + Three.js. Создаём собственный 3D шутер В современной веб-разработке границы между…
  4. Sep 24, 2026Использование async/await для асинхронных операций async/await позволяет более чисто и лег…
  5. Sep 23, 2026Использование WebGL для создания интерактивных 3D-график в веб-приложениях WebGL позволяет…
  6. Sep 22, 2026Использование JavaScript BigInt для работы с большими целыми числами BigInt в JavaScript п…
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 →