Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Методи сортування

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування складних алгоритмів

Частина тексту файла

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ “КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО” ЗВІТ з лабораторної роботи №3 з навчальної дисципліни “Програмування складних алгоритмів” Тема: Методи сортування Варіант 7 Київ 20____ І. Мета: Метою лабораторної роботи є набуття практичних навичок з використання простих методів сортування. Теоретична частина Сортування вставкою: Сортування масивів методом вставки(включенням) здійснюються таким чином. Масив розділяється на дві частини: відсортовану й невідсортовану. Елементи з невідсортованої частини по черзі вибираються й вставляються у відсортовану частину так, щоб не порушити в ній упорядкованість елементів. На початку роботи алгоритму за відсортовану частину масиву приймають тільки один перший елемент, а за невідсортовану частину - всі інші елементи. Таким чином, алгоритм буде складатися з n-1-го проходу (n - розмірність масиву), кожний з яких буде включати чотири дії: - взяття чергового i-го невідсортованого елемента й збереження його в додатковій змінній; - пошук позиції j у відсортованій частині масиву, у якій наявність узятого елемента не порушить упорядкованості елементів; - зсув елементів масиву від i-1-го до j-го вправо, щоб звільнити знайдену позицію вставки; - вставка взятого елемента в знайдену j-ю позицію. Сортування вибором: Сортування масивів методом вибору (виділення) здійснюються таким чином. Знаходимо (вибираємо) у масиві елемент із мінімальним значенням на інтервалі від 1- го елемента до n-го (останнього) елемента й міняємо його місцями з першим елементом. На другому кроці знаходимо елемент із мінімальним значенням на інтервалі від 2-го до n-го елемента й міняємо його місцями із другим елементом. І так далі для всіх елементів до n-1-го. ІІ. Завдання: / Завдання по варіанту Метод сортування вибором / Оцінка складності алгоритму Складність алгоритму сортування вибором в усіх випадках – O(n^2). Складність алгоритму сортування вставками в середньому – O(n^2), а у кращому випадку – O(n). Спосіб сортування Розмір N*N Час виконання  Сортування вибором 10*10 15100нс   100*100 3111500нс   250*250 8833000нс   500*500 49134400нс  Сортування вставками 10*10 16200нс   100*100 3564000нс   250*250 7847100нс   500*500 27690600нс  Виділено числа з меншим часом виконування алгоритму на певному обсязі масиву. Можна зробити висновок, що на меших обсягах час виконання алгоритму сортування вибором бистріший, а алгоритм сортування вставками швидший на більших обсягах даних. ІІІ. Результати виконання лабораторної роботи. / Блок-схема // // Програмний код import java.util.*; public class LR3 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("Введіть розмір масиву: "); int n = scan.nextInt(); int[][] arr = new int[n][n]; for (int i = 0; i < arr.length; i++) for(int j = 0; j < arr.length; j++) arr[i][j] = (int) (Math.random() * 101) - 50; int[][] copy = new int[n][n]; for (int i = 0; i < copy.length; i++) System.arraycopy(arr[i], 0, copy[i], 0, copy.length); System.out.println("Початковий масив:"); printArr(arr); long firstTime = System.nanoTime(); selectionSort(arr); firstTime = System.nanoTime() - firstTime; System.out.println("\nМасив після сортування вибором:"); printArr(arr); System.out.println("\nЧас виконання сортування вибором: " + firstTime + " наносекунд."); long secondTime = System.nanoTime(); insertionSort(copy); secondTime = System.nanoTime() - secondTime; System.out.println("\nМасив після сортування вставками:"); printArr(arr); System.out.println("\nЧас виконання сортування вставками: " + secondTime + " наносекунд."); } public static void printArr(int[][] arr) { for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.le...
Антиботан аватар за замовчуванням

30.05.2023 19:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини