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

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

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

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

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