Публикации по теме 'memoization'
Понимание мемоизации.
Понимание мемоизации.
Одной из наиболее важных концепций программирования является « запоминание ».
Сегодня мы попытаемся понять концепцию и то, почему она высоко оценивается как один из наиболее оптимизированных способов техники исполнения.
Запоминание – это метод оптимизации , используемый в основном для ускорения компьютерных программ путем сохранения результатов ресурсоемких вызовов функций и возврата кэшированного результата при повторении тех же входных данных...
Мемоизация в JavaScript - горячая тема для интервью
Википедия определяет мемоизацию
В вычислениях мемоизация или мемоизация - это метод оптимизации, используемый в первую очередь для ускорения компьютерных программ за счет сохранения результатов дорогостоящих вызовов функций и возврата кэшированного результата, когда те же входные данные повторяются снова.
Проще говоря, вместо многократного выполнения фрагмента кода для выполнения конкретной задачи мы можем сохранить результаты предыдущих вычислений и использовать их позже, чтобы..
Понимание мемоизации в JavaScript: повышение производительности с помощью кэширования
Повысьте производительность JavaScript с помощью мемоизации. Кэшируйте результаты функций и устраняйте избыточные вычисления для молниеносного выполнения кода.
Мемоизация – это мощная техника оптимизации в JavaScript, включающая кэширование результатов ресурсоемких вызовов функций. Сохраняя вычисленные значения для конкретных входных данных, мемоизация позволяет последующим вызовам функций с теми же входными данными извлекать кэшированный результат вместо его повторного вычисления. В..
UseMemo Hook (что это?, Как его использовать? И почему?)
1. Введение
Всем привет, сегодня мы поговорим о хуке useMemo, что это такое, как и когда мы его используем, но сначала давайте определимся, что такое хуки в целом, прежде чем переходить к хуку useMemo.
2. Крючки?
После выпуска версии React 16.8 мы впервые познакомились с новой функцией под названием «Хуки», которая позволяет нам управлять изменениями состояния и методами жизненного цикла внутри функциональных компонентов, а не на основе классов.
Фактически, работа с..
О мемоизации
Резюме:
Используя «открытую» рекурсию:
Мы можем отделить логику мемоизации от функциональной логики. Мы можем мемоизировать функции, не изменяя синтаксис функции. Мы можем сделать функции универсальными для нескольких типов мемоизации.
Мемоизация в Rust.
Рассмотрим рекурсивную функцию. Самый простой пример - последовательность Фибоначчи. Вот наивная реализация:
fn fib_naive (arg: u32) -> u32 {
match arg {
0 => 0,
1 => 1,
n..
Динамическое программирование
Обзор
Одной из основных целей при решении проблемы является минимизация объема вычислений, чтобы мы могли быстрее найти решение. Это идея динамического программирования.
Давайте разберемся в этом на простом примере. Возможно, вы знакомы с хорошо известным рядом — рядом Фибоначчи .
Ряд Фибоначчи выглядит следующим образом:
0, 1, 1, 2, 3, 5, 8, 13…
Ряд начинается с 0, за которым следует 1, а затем вычисляется следующий член путем сложения двух последних членов ряда.
Пусть T(i) —..
Вопросы по теме 'memoization'
Java: автоматическая мемоизация
В моем коде есть несколько функций, для которых имеет смысл (кажется даже обязательным) использовать мемоизацию.
Я не хочу реализовывать это вручную для каждой функции отдельно. Есть ли способ (например, как в Python ), я могу просто использовать...
4711 просмотров
schedule
11.09.2021
Как работают Data.MemoCombinators?
Я искал источник для Data.MemoCombinators , но я не могу понять, в чем его суть.
Пожалуйста, объясните мне, в чем логика всех этих комбинаторов и механика того, как они на самом деле работают, чтобы ускорить вашу программу в реальном...
3039 просмотров
schedule
28.10.2021
Есть ли где-нибудь библиотека мемоизации, основанная на идентификаторах объектов?
Я знаю, что мемоизация, похоже, является постоянной темой здесь, в теге haskell при переполнении стека, но я думаю , что этот вопрос раньше не задавался.
Я знаю несколько различных готовых библиотек мемоизации для Haskell:
Мемо-комбинаторы и...
719 просмотров
schedule
24.11.2021
Рекурсивный алгоритм с использованием мемоизации
Моя проблема заключается в следующем: у меня есть список миссий, каждая из которых занимает определенное количество времени и дает определенное количество очков, и время k, отводимое на их выполнение:
например: missions = [(14,3),(54,5),(5,4)] и...
1776 просмотров
schedule
10.11.2021
Мемоизация рекурсивного метода в Java
Я пытаюсь создать мемоизированную версию функции Factorial. Когда я вызываю factMemoized (4), он впервые вычисляет факториал 4 и сохраняет его в Map. Когда я снова вызываю factMemoized (4), теперь он дает сохраненный результат вместо его повторного...
2095 просмотров
schedule
25.09.2021
асинхронное обновление с мемоизацией scalacache
Я хотел бы сделать мемоизацию на основе TTL с активным асинхронным обновлением в scala.
Пример ScalaCache в документации позволяет использовать мемоизацию на основе TTL следующим образом:
import scalacache._
import memoization._
implicit val...
1698 просмотров
schedule
14.11.2021
чем отличаются эти мемоизированные функции?
Я вижу, что если я использую мемоиз для функции двумя разными способами, я получаю два разных поведения, и я хотел бы понять, почему.
# Non Memoised function
fib <- function(n) {
if (n < 2) return(1)
fib(n - 2) + fib(n - 1)
}...
103 просмотров
schedule
12.11.2021
Применение декоратора ко всем функциям в пакете Python
Мой вопрос очень похож на этот , но в моем случае принятый ответ не украшает все функции в пакете, когда они используются внутри пакета, и я не уверен, почему.
Например, у меня есть такой проект:
project/
package/
__init__.py...
1393 просмотров
schedule
09.09.2021
Ускорение решения алгоритма
Работаем по следующему алгоритму:
Учитывая массив неотрицательных целых чисел, вы изначально занимаетесь первым индексом массива.
Каждый элемент в массиве представляет вашу максимальную длину прыжка в этой позиции.
Определите,...
101 просмотров
schedule
28.11.2021
Эффективность словарей на Python:
В рекурсивной функции ниже я применил некоторые методы мемоизации в python для сохранения предыдущих вычисленных значений в словаре, который теоретически должен иметь сохранение и извлечение O (1). Однако время выполнения примерно в три раза больше...
184 просмотров
schedule
29.09.2021
Динамическое программирование: рекурсия + мемоизация vs цикл + список
В документации для @functools.lru_cache приведен пример вычисления чисел Фибоначчи с использованием кеш для реализации метода динамического программирования:
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return...
924 просмотров
schedule
24.11.2021
Как запомнить рекурсивную функцию сопоставления с элементами, возвращаемыми в массиве?
У меня есть функция мемоизации, которая запоминает рекурсивные функции, возвращающие сумму, например Number, но не с моей функцией collatz, которая возвращает массив. Моя карта внутри функции мемоизации будет иметь разные ключи, но одно и то же...
396 просмотров
schedule
21.11.2021
предотвратить повторный рендеринг дочернего компонента ниже поставщика контекста с помощью памятки
Я использую поставщик контекста в React для обмена данными между несколькими компонентами. Однако, поскольку значение изменяется от одного из моих подкомпонентов, он повторно отображает все мои другие компоненты, что частично приводит к проблемам с...
563 просмотров
schedule
01.12.2021
React hook useCallback, чтобы избежать многократного рендеринга
Я пытаюсь создать простой Material UI Stepper , чтобы пользователь мог нажимать Далее и Назад , а также на шаге, но он дважды запускает редуктор.
Я читал где-то , что Решением этой проблемы является useCallback или useMemo хук, который...
1829 просмотров
schedule
24.02.2022
Загрузка модели в полуреберную структуру данных из файла .PLY
Я пытаюсь создать синтаксический анализатор .PLY для загрузки трехмерных моделей, хранящихся в виде файлов .ply, в сетку структуры данных с половинным краем.
Извините за большой вопрос, я очень многословен и хотел убедиться, что изложил все детали....
2710 просмотров
schedule
26.02.2022
Может ли кто-нибудь объяснить решение этой задачи/головоломки мемоизации/динамического программирования?
Это постановка проблемы:
Это игра для двух игроков. Изначально в массиве есть n целых чисел, и игроки A и B получают возможность взять их поочередно. Каждый игрок может брать одно или несколько чисел с левого или правого конца массива, но не...
566 просмотров
schedule
09.03.2022
Мемоизация: объединение параметров или выполнение хэша md5?
Я добавляю запоминание к нескольким функциям. Эти функции принимают 2-3 строковых параметра (имена объектов), необязательный параметр int (идентификатор записи) и логический параметр (включая удаленные записи). Каждая комбинация параметров...
318 просмотров
schedule
14.03.2022
Запомните функцию Rcpp?
Я написал рекурсивную функцию на R и использовал мемоиз, чтобы ускорить ее. Я попытался еще больше ускорить его, написав в Rcpp, а затем запомнив функцию Rcpp, но функция R работает быстрее. Почему это так и есть ли способ ускорить это в моем...
383 просмотров
schedule
17.03.2022
Использование определенной процедуры в качестве аргумента дает другой результат, чем использование лямбда-выражения в качестве аргумента.
Я пытаюсь запомнить процедуру в схеме. Код взят из SICP.
У меня есть моя процедура fib, определенная как
(define (fib n)
(display "computing fib of ")
(display n) (newline)
(cond ((= n 0) 0)
((= n 1) 1)
(else (+...
89 просмотров
schedule
16.03.2022
Функциональный компонент Memoize с помощью react-redux, Reselect и React.memo ()
Я создал приложение на ReactJS 16.8.5 и React-Redux 3.7.2. Когда приложение загружает приложение, монтируется, устанавливается начальное хранилище и настраиваются подписки на базу данных для базы данных Firebase Realtime. Приложение содержит...
1029 просмотров
schedule
14.03.2022