Конспекти лекцій та Лабораторні роботи з дисципліни "Алгоритми та структури даних" для III курсу спеціальності 121 "Інженерія програмного забезпечення" ОКР "Фаховий молодший бакалавр" Херсонського політехнічного фахового коледжу Державного університету "Одеська політехніка"
Навчитися реалізовувати алгоритми сортування мовою програмування С++.
Персональний комп’ютер, Visual Studio 2008 або інша середа розробки для мови C++
Сортування бульбашкою - найпростіший алгоритм сортування, застосовуваний чисто для навчальних цілей. Практичного застосування цього алгоритму немає, так як він не ефективний, особливо якщо необхідно впорядкувати масив великого розміру. До плюсів сортування бульбашкою відноситься простота реалізації алгоритму.
Алгоритм сортування бульбашкою зводиться до повторення проходів за елементами сортованого масиву. Прохід по елементам масиву виконує внутрішній цикл. За кожен прохід порівнюються два сусідні елементи, і якщо порядок невірний елементи міняються місцями. Зовнішній цикл буде працювати до тих пір, поки маса не буде відсортований. Таким чином зовнішній цикл контролює кількість спрацьовувань внутрішнього циклу Коли при черговому проході за елементами масиву не буде здійснено жодної перестановки, то масив буде вважатися відсортованим.
Мабуть, найпростіший алгоритм сортування - це сортування вибором. Судячи з назви сортування, необхідно щось вибирати (максимальний або мінімальний елементи масиву). Алгоритм сортування вибором знаходить у вихідному масиві максимальний або мінімальний елементи, в залежності від того як необхідно сортувати масив, по зростанням або за спаданням. Якщо масив повинен бути відсортований по зростанню, то з вихідного масиву необхідно вибирати мінімальні елементи. Якщо ж масив необхідно впорядкувати за спаданням, то вибирати слід максимальні елементи.
Припустимо необхідно впорядкувати масив по зростанню. У вихідному масиві знаходимо мінімальний елемент, міняємо його місцями з першим елементом масиву. Уже, з усіх елементів масиву один елемент стоїть на своєму місці. Тепер будемо розглядати не відсортовану частину масиву, тобто всі елементи масиву, крім першого. У невідсортоване частини масиву знову шукаємо мінімальний елемент. Знайдений мінімальний елемент міняємо місцями з другим елементом масиву і т. Д. Таким чином, суть алгоритму сортування вибором зводиться до багаторазового пошуку мінімального (максимального) елементів в невідсортоване частини масиву
Сортування вставками - досить простий алгоритм. Як в і будь-якому іншому алгоритмі сортування, зі збільшенням розміру сортованого масиву збільшується і час сортування. Основною перевагою алгоритму сортування вставками є можливість сортувати масив у міру його полученія.То є маючи частина масиву, можна починати його сортувати. У паралельному програмуванні така особливість відіграє не останню роль.
Сортований масив можна розділити на дві частини - відсортована частина і несортованими. На початку сортування перший елемент масиву вважається відсортованим, все інші - не відсортовані. Починаючи з другого елементу масиву і закінчуючи останнім, алгоритм вставляє невідсортоване елемент масиву в потрібну позицію в відсортованої частини масиву. Таким чином, за один крок сортування відсортована частина масиву збільшується на один елемент, а не відсортованого частина масиву зменшується на один елемент.
Завантажити Visual Studio 2008. Знайдіть на робочому столі ярлик з Visual Studio 2008 або Пуск → Всі програми→ Microsoft → Microsoft Visual Studio 2008.
Створити новий проект «Visual C++ (консольное приложение Win32)». Файл → Cтворити → Проект, тип проекту «Консольное приложение Win32».
Перевірити роботу прикладів, пояснити їх роботу
1000 | 50000 | 200000 | |
---|---|---|---|
Бульбашка | |||
Вибірка | |||
Вставка масив |
1000 | 50000 | 200000 | |
---|---|---|---|
Бульбашка масив | |||
Вибірка масив | |||
Вставка масив | |||
Бульбашка список | |||
Вибірка список | |||
Вставка список |