- •З дисципліни "Структури даних і алгоритми"
- •2 Семестр 2010/2011
- •Дослідження ефективності методів сортування: №1 методу прямої вставки, №4 методу прямого вибору, №3 методу прямого обміну.
- •Технічне завдання на курсову роботу з дисципліни
- •1. Впорядкувати окремо кожен переріз тривимірного масиву а [p,m,n] наскрізно по рядках за незменшенням.
- •1. Алгоритм сортування №1 методу прямої вставки (з лінійним пошуком місця вставки від початку послідовності, що сортується , або «зліва»).
- •2. Алгоритм сортування №4 методу прямого вибору.
- •1 Прохід
- •4 Прохід
- •3. Алгоритм сортування №3 методу прямого обміну (із запам’ятовуванням місця останньої перестановки).
- •2 Прохід
- •7Прохід
- •Зв‘язки між модулями та головною програмою:
- •Опис призначення модулів, процедур та функцій
- •Текст програми
- •Результати:
- •Порівняльний аналіз алгоритмів Характеристика алгоритмів для сортування одновимірного масиву:
- •Порівняльна характеристика алгоритмів при сортуванні одновимірних і двовимірних масивів:
- •Порівняльна характеристика методів сортування багатовимірних масивів між собою:
- •Характеристика впливу різних геометричних розмірів багатовимірних масивів:
- •Список вживаної літератури:
Результати:
За завданням варіанту ми маємо справу с масивом розмірністю [p,m,n] так як сортуємо розрізи масиву, отже ми маємо такі варіанти заданого масиву: p – мале, m – велике, n – велике; p – велике, m – мале, n – мале; і останній варіант p=n (приблизно).
P=5; M=40; N=40:
P=400;M=4;N=5:
P=20; M=20;N=20;
Порівняльний аналіз алгоритмів Характеристика алгоритмів для сортування одновимірного масиву:
Статистика виміру часу для заданих алгоритмів:
Метод сортування |
Відсортований(с) |
Не відсортований(с) |
Зворотньо-відсорт.(с) |
Вставка №1 |
5,77 |
6,75 |
7,65 |
Вибір №4 |
6,43 |
5,77 |
4,5 |
Обмін №3 |
0,06 |
14,72 |
21,09 |
Як видно з таблиці виміру часу сортування одновимірного масиву, метод сортування прямого обміну №3 найшвидший для сортування відсортованого масиву. Це пояснюється тим, що у випадку вже відсортованого масиву відбудеться лише один прохід по масиву тому, що через відсутність перестановок змінна R відразу перейде на перший елемент і алгоритм завершиться.
Алгоритм сортування методом прямого вибору №4 сортує відсортований масив повільніше ніж у інших двох випадках за рахунок того, що у випадку вже відсортованого масиву у нас виконується друга частина першої умови, тобто виконується більше порівнянь, ніж для інших випадків сортування.
Алгоритм сортування методом прямої вставки №1 також дав коректні результати вимірювання – найшвидший випадок вже відсортованого масиву. Це відбувається за рахунок того, що в цьому випадку не виконується цикл по k(від i-1 до j).
У всіх трьох алгоритмах зберігається зберігається залежність результатів від випадку сортування.
Порівняльна характеристика алгоритмів при сортуванні одновимірних і двовимірних масивів:
У випадку сортування методом прямої вставки №1 порівнюючи сортування одновимірного масиву з двовимірним легко помітити що, у другому випадку ми працюємо з двома індексами. Також кількість змінних в масиві збільшується тому, що нам потрібна ще одна змінна, для пошуку місця вставки, а також, додаткові змінні використовуються для реалізації наскрізного сортування матриці. У випадку сортування двовимірного масиву у нас з’являється більша кількість присвоєнь і на один цикл більше, ніж у випадку одновимірного масиву.
У випадку сортування методом прямого вибору №4 також при сортуванні двовимірного масиву, порівняно з сортуванням одновимірного, з‘являються нові змінні. Вони потрібні для запису меж сортування по кожному з двох вимірів матриці, для запису індексів мінімального і максимального елементів.
У випадку сортування методом прямого обміну №3 так само, як і в попередніх випадках, виконується велика кількість додаткових присвоєнь додаткових змінних, і кількість циклів збільшується від 2-х до 4.
Досліджуючи таблиці вимірювання часу сортування одновимірного та багатовимірного масивів легко помітити значне збільшення часу сортування у випадку сортування багатовимірних масивів. Це пояснюється тим, що, як вже було сказано, при сортуванні багатовимірного масиву значно збільшилась кількість додаткових присвоєнь, порівнянь і циклів, що дуже збільшило час сортування масивів.
