Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора_экз.docx
Скачиваний:
2
Добавлен:
31.07.2019
Размер:
42.24 Кб
Скачать

Алгоритм сортування методом прямого обміну.

Сортування обміном або Сортування бульбашкою є простим алгоритмом сортування. Алгоритм працює наступним чином — у поданому наборі даних порівнюються два сусідні елементи. Якщо один з елементів, не відповідає критерію сортування то ці два елементи міняються місцями. Прохід по списку продовжується до тих пір, доки дані не будуть відсортованими. Оскільки для роботи з елементами масиву він використовує лише порівняння, це сортування на основі порівнянь.

Складність алгоритму у найгіршому у середньостатистичному випадку рівна О(n²), де n — кількість елементів для сортування. Існує чимало значно ефективніших алгоритмів, наприклад, з найгіршою ефективністю рівною O(n log n). Тому даний алгоритм має низьку ефективність у випадках, коли N є досить великим, за винятком рідких конкретних випадків, коли заздалегідь відомо, що масив з самого початку буде добре відсортований.

----------------------------------------------------

Алгоритм сортування методом вставки.

Сортування вставками, так само як і сортування методом простого вибору, звичайно застосовується для масивів, що не містять повторюваних елементів. Сортування методом прямого включення, як і всі описані вище, проводиться по кроках. На к-м кроці вважається, що частина масиву, що містить перші k-1 елементів, вже впорядкована, тобто а[1]<[к-l]. Далі необхідно узяти k-й елемент і підібрати для нього таке місце у відсортованій частині масиву, щоб після його вставки впорядкованість не порушилася, тобто треба знайти таке j (1<=j<=k-1), що а[j ]<=a[k].

8  23  5  65  44  33  1  6 1  23  5  65  44  33  8  6 1  5  23  65  44  33  8  6 1  5  6   65  44  33  8  23 1  5  6   8   44  33  65 23 1  5  6   8   33  44  65 23 1  5  6   8   23  44  65 33 1  5  6   8   23  33  65 44 1  5  6   8   23  33  44 65

----------------------------------------------------

Алгоритм сортування методом Шелла.

8 23 5 65 44 33 1 6 Фаза 1 (відстань 4) 8 23 5 65 44 33 1 6 8 23 5 65 44 33 1 6 8 23 1 65 44 33 5 6 8 23 1 6  44 33 5 65 Фаза 2 (2) 1 23 8 6  44 33 5  65 1 23 8 6  44 33 5  65 1 23 8 6  5  33 44 65 1 23 5 6  8  33 44 65 1 6  5 23 8  33 44 65 1 6  5 23 8  33 44 65 1 6  5 23 8  33 44 65 Фаза 3 (1) 1 6 5 23 8  33 44 65 1 5 6 23 8  33 44 65 1 5 6 23 8  33 44 65 1 5 6 8  23 33 44 65 1 5 6 8  23 33 44 65 1 5 6 8  23 33 44 65 1 5 6 8  23 33 44 65

Інша назва сортування вставками зі зменшенням відстані. Для масиву з 2n елементами алгоритм працює в такий спосіб. На першій фазі відбувається сортування включенням усіх пар елементів масиву, відстань між який дорівнює 2(n-1). На другій фазі виробляється сортування включенням елементів отриманого масиву, відстань між який дорівнює 2(n-2). І так далі, поки ми не дійдемо до фази з відстанню між елементами, рівної одиниці, і не виконаємо завершальне сортування з включеннями. У загальному випадку алгоритм Шелла природно переформулюється для заданої послідовності з t відстаней між елементами h1, h2, ..., ht, для яких виконуються умови h1 = 1 і h(і+1) < hі. Дональд Кнут показав, що при правильно підібраних t і h складність алгоритму Шелла є O(n(1.2)), що істотно менше складності простих алгоритмів сортування.