Сортування злиттям: опис роботи алгоритму і відмінностей від інших видів упорядкування даних

Відео: Java - алгоритми: Швидке сортування!

При розробці різних програм практично завжди програмістам доводиться вдаватися до використання сортування, щоб оптимізувати алгоритми роботи, поліпшити продуктивність операції пошуку і т. П. Сьогодні існує безліч різних методик розташування елементів в необхідному порядку: сортування злиттям, за допомогою ключа і т. Д. Сортування являє собою комплекс операцій, результат виконання яких призводить до впорядкування однотипних об`єктів в порядку убування або зростання - в залежності від вимог до онкретной завдання.

Відео: Використання функції ВПР в MS Excel 2007

все різноманіття алгоритмів сортування можна розділити на дві категорії: упорядкування масивів і розташування в певному порядку файлів. Перший тип об`єктів може розташовуватися не тільки в оперативній пам`яті, а й на деякому носії за умови, що доступ до нього відкритий безпосередньо. Друга категорія об`єктів повинна знаходитися на матеріальному носії: диску або магнітній стрічці.

Ключова відмінність між упорядкуванням елементів масиву і розташуванням в заявленому порядку файлів полягає в тому, що всі члени масиву доступні в будь-який момент часу при зверненні до них, а отже, процес сортування починається відразу з моменту запуски процедури без зупинок, пов`язаних з недоступністю того чи іншого елемента. У той же час при упорядкуванні файлів в конкретний момент часу доступ може бути наданий тільки до обмеженого набору членів.



Досить часто для упорядкування файлів застосовується сортування злиттям, яка розроблена на фундаментальних принципах розташування елементів в певному порядку. У загальному випадку процедуру сортування можна описати таким чином: певний сегмент даних виділяється і використовується як ключ. Як приклад можна розглянути приклад сортування поштових відправлень за вказаною індексу. В результаті алгоритм не виробляє повний аналіз інформації, але при цьому з високою часткою ймовірності сортує необхідні елементи.

Основна відмінність послідовних файлів від файлів з наданням прямого доступу полягає в тому, що вони можуть розміщуватися на носіях, до яких складно організувати постійний прямий доступ. Крім того, такі файли зазвичай не використовують фіксовану довжину для збережених записів. Через цих особливостей послідовні файли застосовуються тільки в двох ситуаціях:

- при необхідності використання носія інформації, орієнтованого на послідовний доступ-



- коли зручно використовувати змінну довжину записів.

Сортування злиттям досить часто використовується в сучасних програмних засобах. Пов`язано це з широким розповсюдженням послідовних файлів. Наприклад, практично всі текстові файли носять послідовний характер. Незважаючи на зручність розгляду послідовно організованого файлу як масиву даних, такий підхід неможливий, т. К. До всіх елементів файлу звернутися неможливо апаратно, фізично.

Сортування злиттям стала, по суті, єдиним способом для сортування послідовних файлів. Незважаючи на те, що сьогодні існують інші методи упорядкування послідовних файлів, цей метод залишається одним з найпопулярніших. Сортування природним злиттям має на увазі поділ файлу на дві частини, рівні за обсягом інформації. Далі з кожного файлу відбувається поступове зчитування кожного елемента з тих, які доступні зараз. Впорядковані елементи розташовуються в необхідному порядку в третьому файлі, який в подальшому розділяється на два подібних за розміром. Таким чином і виробляється сортування злиттям. Паскаль, Сі, Basic - більшість відомих мов програмування підтримують реалізацію даного типу упорядкування послідовних файлів.




Увага, тільки СЬОГОДНІ!
Статті за темою "Сортування злиттям: опис роботи алгоритму і відмінностей від інших видів упорядкування даних"
Оцініть, будь ласка статтю
Всього голосів: 153