Основні методи сортування масивів 1. Метод бульбашкового сортування
Основні методи сортування масивів 1. Метод бульбашкового сортування ( обмінне сортування ) Грунтується на перестановці сусідніх елементів. Для впорядкування елементів масиву здійснюються повторні проходи по масиву. Переміщення елементів масиву здійснюється таким чином : масив переглядається зліва направо, здійснюється порівняння пари сусідніх елементів; Якщо елементи в парі розміщені в порядку зростання, вони лишаються без змін, а якщо ні – міняються місцями. В результаті першого проходу найбільше число буде поставлено в кінець масиву. У другому проході такі операції виконуються над елементами з першого до (N-1)-ого, у третьому – від першого до (N-2)-ого і т.д. Впорядкування масиву буде закінчено, якщо при проході масиву не виконається жодної перестановки елементів масиву.
const n=10; int a[n], i, c, is; /* Факт перестановки фіксується за допомогою змінної is, яка на початку має значення 0 і набуває значення 1 тоді, коли виконається перестановка в якій-небудь парі */ do { is=0; for (i=1; i
Оцінка ефективності. Ефективність алгоритму залежить від початкового розташування елементів масиву (кількість переглядів масиву фіксованого розміру n може бути різною). В алгоритмі виконується (n-1) + (n-2) + ….+1 = n*(n-1)/2 порівнянь. Найбільше можливе число елементарних дій прямо пропорційне кількості порівнянь. Тому час сортування масиву з n елементів прямо пропорційний n*(n-1) . 2 Складність алгоритму бульбашкового сортування O ( n )
2. Сортування методом вибору. Масив переглядається перший раз, знаходиться мінімальний елемент цього масиву, який міняється місцями з першим елементом. Другий раз масив переглядається, починаючи з другого елементу. Знову знаходиться мінімальний елемент, який міняється місцями з другим елементом масиву. Даний процес виконується до тих пір, поки не буде поставлено на місце N-1 елемент. Загальна кількість операцій порівняння алгоритму сортування вибором (selection sort) дорівнює n*(n-1)/2 . Максимальна кількість елементарних дій пропорційна квадрату n .
const int n=20; int b[n]; int imin, i, j, a; /* метод вибору */ for (i=0;i
Алгоритм методу вибору
3. Сортування вставками. На і-му етапі відбувається "вставка" і-ого елемента a[i] в потрібну позицію серед елементів a[1], a[2], …, a[i-1], які вже впорядковані. Після цієї вставки перші і елементів будуть впорядковані. Саме таким способом звичайно сортують карти, тримаючи в лівій руці вже впорядковані карти, і взявши правою рукою чергову карту вставляють її в потрібне місце, порівнюючи її з іншими (проходячи справа наліво). Алгоритм ( insertion sort) зручно застосовувати для сортування коротких послідовностей або під час введення масиву. Оцінка ефективності алгоритму аналогічна попереднім.
const int n=20; int b[n]; int i, j, c; /* сортування вставками */ for (i=1; i
Метод вставки
5358-sl_part6_2.ppt
- Количество слайдов: 14