Что такое перекрывающиеся подзадачи?

Оглавление:

Что такое перекрывающиеся подзадачи?
Что такое перекрывающиеся подзадачи?

Видео: Что такое перекрывающиеся подзадачи?

Видео: Что такое перекрывающиеся подзадачи?
Видео: Видео курс Алгоритмы и структуры данных. Урок 9. Динамическое программирование. 2024, Ноябрь
Anonim

В информатике говорят, что проблема имеет перекрывающиеся подзадачи, если проблема может быть разбита на подзадачи, которые повторно используются несколько раз, или рекурсивный алгоритм для проблемы решает одну и ту же подзадачу снова и снова, а не всегда генерирует новые подзадачи.

Что такое оптимальная подструктура и перекрывающиеся подзадачи в динамическом программировании?

Задача обладает свойством оптимальной подструктуры, если оптимальное решение данной задачи может быть получено с использованием оптимального решения ее подзадач. Динамическое программирование использует это свойство для поиска решения.

Что такое перекрывающаяся подзадача в динамическом программировании?

1) Перекрывающиеся подзадачи:

Динамическое программирование в основном используется, когда необходимо снова и снова решать одни и те же подзадачи. В динамическом программировании вычисленные решения подзадач хранятся в таблице, поэтому их не нужно вычислять заново.

В чем разница между оптимальной подструктурой и перекрывающимися подзадачами?

Я понимаю целевой подход для обоих методов, где Оптимальная подструктура вычисляет оптимальное решение на основе входных данных n, а Перекрывающиеся подзадачи нацелены на все решения для диапазона входных данных, скажем, от 1 до n. Для такой задачи, как задача о перерезании стержня.

Какая из этих техник использует перекрытие подзадач?

Динамическое программирование - это метод решения задач с перекрывающимися подзадачами. При этом мы сохраняем результат подзадачи, решенной один раз, для повторного использования в будущем. Техника запоминания решений подзадач называется мемоизацией.

Рекомендуемые: