Публикации по теме 'dynamic-programming'


Лучшее время для покупки и продажи акций 📈 3 — Разрешены две акции | Интервью по кодированию | Грубая сила
Ранее мы обсуждали проблему купли-продажи акций, когда нам было разрешено совершить только одну транзакцию . Затем мы увидели проблему, когда нам разрешили столько транзакций, сколько мы хотим . Теперь давайте обсудим следующую версию, которая немного сложнее. Я постараюсь объяснить это очень просто и подробно. Так что эта статья будет длинной; терпите со мной :).

Эффективное решение проблем с помощью динамического программирования
Динамическое программирование — это мощная алгоритмическая техника, используемая для эффективного решения сложных проблем путем их разбиения на более мелкие, перекрывающиеся подзадачи. Это фундаментальная концепция компьютерных наук, играющая ключевую роль в оптимизации временной и пространственной сложности для широкого круга вычислительных задач. Определение и концепция . По своей сути динамическое программирование предполагает решение проблемы путем ее разделения на более мелкие,..

ЖАДНЫЙ ПОДХОД против ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ
ЖАДНЫЙ ПОДХОД против ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ Динамическое программирование Динамическое программирование — это техника компьютерного программирования, которая помогает эффективно решать класс задач, имеющих перекрывающиеся подзадачи и свойство оптимальной подструктуры . Если проблему можно разбить на подзадачи, которые затем разбиваются на более мелкие подзадачи, и если эти подзадачи перекрываются, ответы на эти подзадачи можно сохранить для будущего использования. Таким..

Динамическое программирование
Когда я впервые начал программировать, старший инженер спросил меня, как я решу одну задачу. Я не помню точный вопрос, но он сказал, что ответ — динамическое программирование . С тех пор я знал, что динамическое программирование — это мощный инструмент для использования в программировании. И теперь я, наконец, понял, что это значит, посмотрев лекции «Введение в информатику» в MIT Open Courseware. Слово «динамический» означает характеризующееся постоянным изменением . Таким образом,..

Топ-10 задач динамического программирования
Динамическое программирование - метод решения сложной проблемы путем разбиения ее на набор более простых подзадач, решения каждой из этих подзадач только один раз и сохранения их решений. В следующий раз, когда возникает та же подзадача, вместо повторного вычисления ее решения просто просматривается ранее вычисленное решение, тем самым экономя время вычислений. Этот метод сохранения решений подзадач вместо их повторного вычисления называется мемоизацией. Ниже приведены 10 основных..

Динамическое программирование
Динамическое программирование — это метод оптимизации, применимый, когда Проблемы можно разбить на подзадачи. Каждая подзадача решает большую проблему. Если есть несколько повторяющихся подзадач. (Запоминание) Одной из самых известных задач динамического программирования является последовательность Фибоначчи. Последовательность Фибоначчи — это числовая последовательность, в которой каждое число является суммой двух предыдущих чисел. Бывший. 0, 1, 1, 2, 3, 5, 8, 13… Если мы..

Раскрытие проблемы неограниченного рюкзака
Задача неограниченного рюкзака — важная подтема динамического программирования, имеющая важные применения в соревнованиях по алгоритмам и собеседованиях. Описание проблемы следующее: Есть n ( n <= N ) предметов и рюкзак вместимостью m ( m <=M ). Каждый предмет имеет бесконечное количество. Вес и стоимость i-го предмета равны w[i] и v[i] соответственно. Теперь нам нужно выбрать некоторые предметы, чтобы положить их в рюкзак, и общая вместимость не может превышать..