Динамическое программирование. Часть 1 | Эффективные алгоритмы | Александр Куликов | Лекториум
Динамическое программирование: не так страшен чёрт...
Статья подготовлена для студентов курса «Алгоритмы для разработчиков» в образовательном проекте OTUS. Часто встречаю в интернете такое: «Мне дали на 4-м туре собеседования в Яндексе задачу динамического программирования — уууу — какая сложная была!», «Сейчас крупнейшие зарубежные компании на собеседовании сразу дают динамику, чтобы отсеять слабых программистов». Из-за устоявшихся стереотипов такие задачи считаются очень сложными. Предполагается, что решение их подвластно немногим. Что же это за...
Основы динамического программирования для решения алгоритмических задач
Динамического программирование (Dynamic Programming, DP) - один из используемых подходов при решении алгоритмических задач. Он эффективен в задачах, где оптимальное решение можно построить из оптимальных решений подзадач. В этой статье мы разберемся, что такое динамическое программирование, как его применять. Динамическое программирование (DP) - это метод оптимизации, при котором сложная задача разбивается на более простые перекрывающиеся подзадачи, и их решения запоминаются, чтобы не пересчитывать их снова...