Источник: Nuances of Programming Предыдущая часть: “Структуры данных: асимптотический анализ” При подходе «разделяй и властвуй» задача делится на мелкие подзадачи, каждая из которых решается независимо. При их делении на еще более мелкие подзадачи в конце концов настает момент, когда дальнейшее деление невозможно. Эти мельчайшие «атомарные» подзадачи и решаются. Решения всех подзадач в итоге объединяются, и получается решение исходной задачи: В целом подход «разделяй и властвуй» рассматривается как трехэтапный процесс. Разделение/разбиение На этом этапе исходная задача разбивается на более мелкие подзадачи, каждая из которых является ее частью. Причём обычно применяется рекурсивный подход и подзадачи делятся до тех пор, пока не будут все неделимыми. Здесь подзадачи, оставаясь частью самой задачи, становятся по сути атомарными. Завоевание/решение На этом этапе и решается много мелких подзадач. Причём считается, что они решаются независимо. Слияние/комбинирование Решения мелких подзадач
Структуры данных: подход «разделяй и властвуй»
22 февраля 202222 фев 2022
1
1 мин