Довідка
Довідка
ЛКЛАУД ІД 456
Loading...

Практичне заняття 16. Динамічне програмування

Дізнаємось

Що таке динамічне програмування та в чому його суть.
Як виникає надлишковість обчислень у рекурсивних алгоритмах.
Які існують два основних підходи DP: згори вниз (memoization) та знизу вгору (tabulation).
Які типові задачі розв’язуються методом DP.
Як проаналізувати часову та просторову складність DP-алгоритмів.

Навчимось

Використовувати динамічне програмування для оптимізації рекурсивних задач.
Реалізовувати алгоритми з використанням мемоізації (через кешування результатів).
Створювати таблиці для обчислення результатів у порядку зростання підзадач (табуляція).
Розв’язувати типові задачі DP: Фібоначчі, рюкзак, найдовша спільна підпослідовність.
Порівнювати ефективність рекурсивних, мемоізованих і табульованих рішень.

Матеріали

Доступно тільки для зареєстрованих користувачів

Проблемні питання
  • Доступно тільки для зареєстрованих користувачів

Д.з.

Доступно тільки для зареєстрованих користувачів

Тема
3 лекції
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
3 практичні заняття
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Загальнонаціональна хвилина мовчання за загиблими внаслідок збройної агресії рф проти України
60