- Основные отличия динамического программирования от рекурсии:
- Запоминание результатов. Динамическое программирование сохраняет результаты уже решённых подзадач, что предотвращает повторные вычисления.
- Эффективность. Динамическое программирование обычно более эффективно по времени и памяти, так как избегает избыточных вычислений.
- Структура решения. Динамическое программирование часто использует итеративный подход или таблицы для хранения промежуточных результатов.
- Пример. Алгоритм вычисления
функции G (n)задан следующими соотношениями: n ≤ 3
G (n) = 2n при
G (n) = G (n – 2) + 3 · G (n/2), если n > 3и чётно, n > 3
G (n) = G (n – 1) + G (n – 2), еслии нечётно.
Чему равно значение функции G (9) + G (10)?
Решение.- Заполним значения диапазон ячеек A1:A10 аргументами n от 1 до 10.
- Затем введём первые три значения G (n) по формуле (для ячейки В1): =А1*2. Автозаполнением скопируем формулу на весь диапазон B2:B3.
- Используя функцию ЕСЛИ, введём формулу для расчёта значений для чётных и нечётных значений n (для ячейки В4): =ЕСЛИ(ОСТАТ(A4;2)=0;B2+3*СМЕЩ(A4;-A4/2;1);B2+B3). Автозаполнением скопируем формулу на весь диапазон B4:B10.
- В ячейку B11 введём формулу для расчёта окончательного результата: =B9+B10. Ответ задания 286.
Информатика • 9 класс
14
Динамическое программирование в электронных таблицах
Было полезно?
Рекомендуем
Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках