Professional Documents
Culture Documents
лаба 2
лаба 2
Звіт
З лабораторної роботи № 2
з дисципліни “Теорія алгоритмів”
Перевірив: Арсенюк І. Р.
Вінниця 2024
Тема: програмування, дослідження алгоритму внутрішнього сортування
шляхом вставок.
Мета: детально проаналізувати та дослідити алгоритм сортування шляхом
вставок.
Хід роботи
Теоретичні відомості
1. Ідея алгоритму сортування методом вставок.
Алгоритм сортування методом вставок (Insertion Sort) є одним з простих
алгоритмів сортування, який використовує принцип послідовного вставлення
елементів у вже відсортовану частину масиву чи списку. Цей метод належить
до категорії "порівняльних" сортувань, оскільки він порівнює елементи для
визначення їхнього правильного порядку.
Принцип роботи:
Початок. Алгоритм розпочинає роботу з першого елемента масиву,
вважаючи його відсортованим.
Вставка елементів. Далі він по черзі бере кожен наступний елемент і
вставляє його на відповідне місце в відсортованій частині масиву. Це
відбувається через порівняння і зрушення елементів.
Повторення. Процес повторюється до тих пір, поки всі елементи не будуть
впорядковані.
Основна перевага алгоритму сортування методом вставок полягає в його
простоті реалізації та інтуїтивному розумінні. Він ефективний для невеликих
масивів або списків, а також може бути корисним для часткового сортування,
де деякі елементи вже впорядковані.
2. Власний приклад роботи алгоритму сортування методом вставок
на масиві з 10 чисел.
За приклад візьмемо масив [5, 3, 7, 2, 8, 1, 9, 4, 10, 6] і крок за кроком
розпишемо алгоритм сортування
Крок 1: Перший елемент 5 вважається впорядкованим (вважаємо, що
масив з одного елемента вже впорядкований).
Крок 2: Порівнюємо 3 з 5 і вставляємо його перед 5. Отримуємо: [3, 5, 7, 2,
8, 1, 9, 4, 10, 6].
Крок 3 : 7 вже більше 5, тому залишається на своєму місці. Отримуємо: [3,
5, 7, 2, 8, 1, 9, 4, 10, 6].
Крок 4: 2 порівнюється і вставляється перед 3. Отримуємо: [2, 3, 5, 7, 8, 1,
9, 4, 10, 6].
Крок 5: 8 вставляється перед 9. Отримуємо: [2, 3, 5, 7, 8, 1, 9, 4, 10, 6].
Крок 6: 1 порівнюється і вставляється перед 2. Отримуємо: [1, 2, 3, 5, 7, 8,
9, 4, 10, 6].
Крок 7: 9 залишається на своєму місці, бо вже більше 8. Отримуємо: [1, 2,
3, 5, 7, 8, 9, 4, 10, 6].
Крок 8: 4 вставляється перед 5. Отримуємо: [1, 2, 3, 4, 5, 7, 8, 9, 10, 6].
Крок 9: 10 залишається на своєму місці. Отримуємо: [1, 2, 3, 4, 5, 7, 8, 9, 10,
6].
Крок 10: 6 вставляється перед 7. Отримуємо остаточний впорядкований
масив: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].
Даний алгоритм сортування можна реалізувати за допомогою мови
програмування Python: