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

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

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

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

#полезное
  • 👍 4
More from @notesjs
  1. Oct 9, 2026Валидация формы с помощью AJV, Vue.js и TypeScript Валидация форм является важной частью f…
  2. Oct 8, 2026Использование WebSockets для двусторонней коммуникации между клиентом и сервером WebSocket…
  3. Oct 7, 2026Server-side rendering и практики работы с запросами Практики работы с запросами на сервере…
  4. Oct 6, 2026Работа с итерируемыми объектами и циклом for...of Цикл for...of позволяет удобно перебират…
  5. Oct 5, 2026Интерактивные графики и визуализации с использованием библиотеки D3.js Библиотека D3.js ши…
  6. Oct 1, 2026Работа с WebRTC для создания видеочата в браузере WebRTC позволяет веб-приложениям реализо…
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 →