Техніка «розділяй і володарюй» є основою ефективних алгоритмів для багатьох проблем, таких як сортування (наприклад, швидке сортування, сортування злиттям), множення великих чисел (наприклад, алгоритм Карацуби), пошук найближчої пари точок, синтаксичний аналіз (наприклад, парсери зверху вниз) і обчислення дискретного перетворення Фур’є…
Сортування злиттям Сортування злиттям це алгоритм сортування, який слідує підходу «Розділяй і володарюй». Він сортує масив, розділяючи його на дві половини, рекурсивно сортуючи кожну половину, а потім об’єднуючи дві відсортовані половини, щоб створити остаточний відсортований масив.');})();(function(){window.jsl.dh(' oKDsZtvNGILS1e8PnN3c-AQ__22','
Алгоритм «Розділяй і володарюй» складається з двох частин: «Розділяй»: розділіть проблему на кілька підпроблем. Підзадачі вирішуються рекурсивно. Conquer: рішення вихідної проблеми формується з розв’язків підпроблем (з’єднання відповідей).
В алгоритмах сортування, швидке сортування, сортування злиттям і сортування купи є швидшими, ніж сортування вибором, бульбашкою та вставкою, оскільки вони застосовують стратегію розділяй і володарюй.
Алгоритм сортування за принципом «розділяй і володарюй» складається з таких кроків:
- Отримавши список для сортування, розділіть його на два або більше менших списків.
- Рекурсивно запустіть алгоритм сортування для кожного меншого списку окремо.
- Об’єднайте відсортовані результати кожного рекурсивного виклику в один відсортований список.
Обидва сортування злиттям і швидке сортування використовувати загальну алгоритмічну парадигму, засновану на рекурсії. Ця парадигма «розділяй і володарюй» розбиває проблему на підпроблеми, подібні до вихідної проблеми, рекурсивно вирішує підпроблеми та, нарешті, об’єднує розв’язки підпроблем для вирішення вихідної проблеми.