You are on page 1of 6

Міністерство освіти і науки України

Вінницький національний технічний університет

Факультет інформаційних технологій та комп’ютерної інженерії

Кафедра КН

Лабораторна робота № 4

з дисципліни “Теорія алгоритмів ”

Тема: «розробка та дослідження алгоритму сортування внутрішнього


обмінного»

  

Виконав ст. гр. 1КН-20б: 

Гненний І. О.

Перевірив: 

Ліхашорський С. В.

Вінниця 2021
Мета: детально проаналізувати та дослідити алгоритм сортування шляхом
вибору (або внутрішнього обмінного сортування).

Хід роботи:

Ідея алгоритму внутрішнього обмінного сортування. Тут обмін місцями двох


елементів є характерною особливістю процесу сортування. Викладений нижче
алгоритм ґрунтується на порівнянні та зміні місць для пари сусідніх елементів і
продовженні цього процесу доти, поки не будуть упорядковані всі елементи
(тому даний алгоритм отримав ще назву „сортування прямим обміном”). І такі
проходи по масиву слід повторювати, пересуваючи щоразу найменший елемент
послідовності, яка залишилась, до лівого кінця масиву. Якщо розглядати
масиви як вертикальні, а не горизонтальні, то елементи можна інтерпретувати
як бульбашки у чані з водою, причому вага кожного відповідає його ключу [4].
Тут під час кожного проходу одна бульбашка „піднімається” до рівня, що
відповідає її вазі.

Власний приклад роботи алгоритму сортування методом внутрішнього


обмінного на масиві з 10 чисел наведено на рисунку 1.1:
Алгоритм сортування методом вставок у графічному вигляді наведено на
рисунку 1.2 :

Теоретична оцінка складності алгоритму для трьох випадків


1) для найкращого випадку.
Для нашого алгоритму найсприятливішим є випадок, коли масив вже є
відсортований. О(n)
2) для найгіршого випадку.
Якщо ж масив відсортований у зворотному (в даному випадку, спадному)
порядку – час роботи процедури буде максимальним:
одержуємо, що у гіршому випадку час роботи процедури дорівнює О(n²)
3) для середнього випадку
Час роботи в середньому часто близький до часу роботи у гіршому
випадку. Нехай, наприклад, ми сортуємо випадково розташовані n чисел
за допомогою
Рис. алгоритму
1.2 – сортування бульбашки.
методом О(n²)
вставок у графічному вигляді

Сирець алгоритму сортування методом вставок наведено на рисунку 1.3:

Рис. 1.3 – Псевдокод сортування методом бульбашки


Практична оцінка складності алгоритму в трьох випадках для масивів різного
розміру.
1) Таблиця та графік для найкращого випадку.
№ Кількість даних Час (c)
1 50000000 7
2 55000000 7,32
3 57000000 7,6
4 58000000 7,8
5 60000000 8,5
6 65000000 9
7 66000000 9,9

Графік:
70000000
Кількість вхідних даних

60000000

50000000

40000000

30000000

20000000

10000000

0
7 7.32 7.6 7.8 8.5 9 9.9

Час (с)

Рис.1.4 – Графік залежності часу від вхідних даних для найкращого випадку

2) Таблиця та графік для найгіршого випадку.

№ Кількість даних Час (c)


1 10000 14
2 20000 51
3 25000 79
4 30000 112
5 40000 193
6 50000 295
7 75000 696

Графік:

80000
Кількість вхідних даних

70000

60000

50000

40000

30000

20000

10000

0
14 51 79 112 193 295 696

Час (с)

Рис. 1.5 – Графік залежності часу від вхідних даних для найгіршого випадку

3) Таблиця та графік для середнього випадку.


№ Кількість даних Час (c)
1 15000 22
2 20000 48
3 25000 62
4 30000 88
5 40000 159
6 50000 260
7 75000 604

Графік:
80000

Кількість вхідних даних


70000

60000

50000

40000

30000

20000

10000

0
22 48 62 88 159 260 604

Час (с)

Рисунок.3 – Графік залежності часу від вхідних даних для середнього випадку

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


Переваги:

Цей алгоритм має ряд переваг. Це просто писати, легко зрозуміти, і це займе
всього кілька рядків коду. Дані упорядковано на місці, так що мало пам'яті
накладних витрат і, як тільки відсортовані, дані в пам'яті, готові до обробки.
Недоліки:
Основним недоліком є кількість часу, необхідне для сортування. Середній час
збільшується майже в геометричній прогресії в міру збільшення кількості
елементів таблиці. Сортування в десять разів перевищує кількість предметів
майже в сто разів
Висновок: детально проаналізував та дослідив алгоритм сортування
внутрішнього обмінного у найкращому, середньому, найгіршому випадках.
Навчився писати алгоритм сортування бульбашки. .

You might also like