Информатика • 11 класс
14

Динамическое программирование как метод решения задач с сохранением промежуточных результатов (Python)

  • Динамическое программирование (ДП метод решения задач путём разбиения на перекрывающиеся подзадачи, с сохранением результатов их решения для повторного использования (мемоизация).
  • Основные принципы:
    • оптимальная подструктура решение задачи можно получить из решений подзадач;
    • перекрывающиеся подзадачи одни и те же подзадачи решаются многократно;
    • мемоизация сохранение результатов вычислений для избежания повторов.
  • Пример. Числа Фибоначчи
    n = int (input ("Введите n: "))
    fib = [0] * 101
    fib [1] = 1
    fib [2] = 1
    for i in range (3, n + 1):
       fib [i] = fib [i - 1] + fib [i - 2]
    print (fib [n])
Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»
Логотип облако знаний
+7 (499) 322-07-57
info@oblakoz.ru

Контактный центр

МО, г. Долгопрудный,
Лихачевский проезд, 4, стр. 1

Отдел заботы о пользователях

Политика конфиденциальности

© ООО «Физикон Лаб», 2026

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪