Professional Documents
Culture Documents
сортировка 3
сортировка 3
сортировка 3
План:
1. Просте сортування методом вибору
2. Пірамідальне сортування
3. Сортування злиттям
найбільший елемент).
2*і+1 2*і+2
Послідовність чисел формує піраміду,
якщо для всіх
k = i, i+1, ..., n/2
виконуються нерівності i
(або i )
mas: 12 10 7 5 8 7 3
Алгоритм пірамідального сортування.
Встановлюємо k = n/2.
Перебираємо елементи масиву справа наліво для
i = k, k–1, ...,1.
Якщо нерівності i не виконуються, то повторюємо перестановки
xi з найбільшим з нащадків.
Властивості:
1) найпростіший алгоритм сортування (серед швидких алгоритмів)
2) працює з елементами масиву переважно послідовно
3) застосовується тоді, коли є можливість використовувати для зберігання
проміжних результатів пам'ять, яку можна порівняти з розміром вихідного
масиву
4) побудований за принципом «розділяй і володарюй»
5) процедура злиття вимагає два відсортованих масиви, окрім цього масив з
одного елемента за визначенням є відсортованим
Контрольні питання
1. Чим можна пояснити різноманіття алгоритмів сортування?
2. Чому на даний момент не існує універсального алгоритму сортування?
3. Як дотримання властивостей стійкості і природності впливає на час роботи
алгоритму сортування?
4. За рахунок чого в алгоритмах швидкого сортування відбувається виграш при
виконанні операцій порівняння і перестановок?
5. Які з перерахованих алгоритмів найбільш ефективні на майже відсортованих
масивах: бінарне пірамідальне сортування, сортування злиттям, сортування
Шелла і сортування Хоара? За рахунок чого відбувається виграш?
6. Чому алгоритми швидкого сортування не дають великого виграшу при малих
розмірах масивів?
7. У чому переваги і недоліки по відношенню один до одного наступних
алгоритмів сортувань: бінарне пірамідальне сортування, сортування злиттям,
сортування Шелла і сортування Хоара?
8. Як визначити, яким алгоритмом сортування віддати перевагу при
розв’язанні задачі?
// Опис функції бінарного сортування
пірамідою