Я ищу удобный для понимания пример для тех, кто хочет изучить динамическое программирование. Здесь есть приятные ответы о том, что такое динамическое программирование. Пример фибоначчи - отличный пример, но он слишком мал, чтобы поцарапать поверхность. Мне очень интересно узнать, хотя я еще не взял класс алгоритмов, надеюсь, что это в моем списке для spring.
Простой пример для тех, кто хочет понять динамическое программирование
Ответ 1
Проверьте этот сайт: Проблемы с динамическим программированием
Ответ 2
Вот хороший учебник, содержащий 29 проблем с разрешением DP с большим объяснением.
Ответ 3
Идея динамического программирования заключается в том, что вы выполняете кэширование (memoizing) решений подзадач, хотя я думаю, что там больше, чем это.
Существует множество проблем с застреванием в Google Code, так что решения требуют динамического программирования. Примеры:
Добро пожаловать в замятие кода (умеренный)
Обман булевского дерева (умеренный)
Обратите внимание, что в каждом из конкурсов по борьбе с пробкой кода есть раздел "Анализ конкурса", если вы пытаетесь решить проблему.
Ответ 4
Расчет расстояний Левенштейна был одной из первых проблем, которые я решил с динамическим программированием; Я думаю, что это достойный следующий шаг от последовательности Фибоначчи с точки зрения сложности.
Ответ 5
- Geeks для geeks имеет отличную коллекцию для задач динамического программирования. Я считаю, что этот набор является одним из лучших, если вы готовитесь к интервью.
- Если вам нужны небольшие обучающие видеоролики о проблемах с DP, вы можете проверить эту проблему из MIT.