Сортування злиттям — алгоритм сортування, в основі
якого лежить принцип «Розділяй та володарюй».
В основі цього способу сортування лежить злиття двох упорядкованих ділянок масиву в одну впорядковану ділянку іншого масиву. Злиття двох упорядкованих послідовностей можна порівняти з перебудовою двох колон солдатів, вишикуваних за зростом, в одну, де вони також розташовуються за зростом. Якщо цим процесом керує офіцер, то він порівнює зріст солдатів, перших у своїх колонах і вказує, якому з них треба ставати останнім у нову колону, а кому залишатися першим у своїй. Так він вчиняє, поки одна з колон не вичерпається — тоді решта іншої колони додається до нової.
В основі цього способу сортування лежить злиття двох упорядкованих ділянок масиву в одну впорядковану ділянку іншого масиву. Злиття двох упорядкованих послідовностей можна порівняти з перебудовою двох колон солдатів, вишикуваних за зростом, в одну, де вони також розташовуються за зростом. Якщо цим процесом керує офіцер, то він порівнює зріст солдатів, перших у своїх колонах і вказує, якому з них треба ставати останнім у нову колону, а кому залишатися першим у своїй. Так він вчиняє, поки одна з колон не вичерпається — тоді решта іншої колони додається до нової.
Під
час сортування в дві допоміжні черги з основної поміщаються перші дві
відсортовані підпослідовності, які потім зливаються в одну і результат
записується в тимчасову чергу. Потім з основної черги беруться наступні дві
відсортовані підпослідовності і так доти, доки основна черга не стане
порожньою. Після цього послідовність з тимчасової черги переміщається в основну
чергу. І знову продовжується сортування злиттям двох відсортованих
підпослідовностей. Сортування триватиме доти, доки довжина відсортованої
підпослідовності не стане рівною довжині самої послідовності.
Комментариев нет:
Отправить комментарий