120 likes | 330 Views
Тема уроку. Алгоритми впорядкування табличних величин ( м асивів). План уроку. Пошук у масиві. Вправа 14.0. Загальні поняття про впорядкуваня . Методи впорядкування елементів масиву. Демонстрація роботи методів. Приклади програми впорядкування елементів одновимірного масиву.
E N D
Тема уроку Алгоритми впорядкування табличних величин (масивів)
План уроку • Пошук у масиві. Вправа 14.0. • Загальні поняття про впорядкуваня. • Методи впорядкування елементів масиву. • Демонстрація роботи методів. • Приклади програми впорядкування елементів одновимірного масиву. • Практична робота №15 – оцінювання. • Підсумки уроку та домашнє завдання.
Як переставити елементи? Задача: поміняти місцями вміст двох чашок. 2 1 3 Задача: поміняти місцями вміст двох комірок пам’яті. y x 2 6 4 4 6 tmp= x x = y y =tmp x = y y = x 3 1 ? 4 ПЕРЕГЛЯНУТИ КОД tmp
Загальні поняття про впорядкування. Розглянемо невпорядкований набір із 6 чисел: -1; 2; -3; 4; -5; 6; Питання: Як можна було б ці числа записати в порядку зростання? -5; -3; -1; 2; 4; 6; Проблема:Як описати алгоритм впорядкування за зростанням?
Сортування • Сортування – це розстановка елементів масиву в заданому порядку ( по зростанню, спаданню, останній цифрі, сумі дільників, …). • Задача: переставити елементи масиву в порядку зростання. • Алгоритми: • прості і зрозумілі, проте неефективні для переважної більшості масивів • метод вибору • метод бульбашки (обміну) • складні, проте ефективні • “швидке сортування" (Quick Sort) • сортування “купою" (Heap Sort) • сортування злиттям • пірамідальне сортування
Методвибору Методобміну Методвключення Методи сортування масивів Дуже часто при розв'язуванні задач, пов'язаних з обробкою масивів, необхідно виконувати сортування його елементів за зростанням або спаданням. Такі задачі мають велике практичне значення. Розглянемо деякі з методів, що дозволяють впорядкувати елементи таблиць. Методи сортування
Метод вибору • Ідея: • знайти мінімальний елемент і поставити на місце першого (поміняти місцями з A[1]) • із решти знайти мінімальний елемент і поставити на друге місце (поміняти місцями з A[2]), і т.д.
Метод вибору полягає в тому, що вибирається мінімальний елемент масиву, а потім виконується його обмін з першим елементом таблиці. Після цього перший елемент вважається впорядкованим і процес повторюється для підмасиву, що містить на один елемент менше за початковий, тобто елементи з 2-го до останнього. Процес повторюється кожен раз для масиву, зменшеного на один елемент. Закінчується він тоді, коли невпорядкований підмасив стає довжиною один елемент. Таким чином, загальна кількість повторень дорівнює N-1 (N - кількість елементів масиву).
Метод вибору For i = 1 To 9 min = mas(i) Forj= i + 1 To 10 Ifmas(j) <= min Then min = mas(j) : nomer = j End If Next j p = mas(i) mas(i) = mas(nomer) mas(nomer) = p Next i Робота програми
Метод бульбашки Ідея – бульбашка повітря в стакані води піднімається з дна вверх. Для масивів – самий маленький ("легкий") елемент переміщується вверх ("спливає"). 1-ий прохід • починаємо знизу, порівнюємо два сусідніх елементи; вони стоять “неправильно”, міняємо їх місцями • за 1 прохід по масиву один елемент (самий маленький) стає на своє місце 2-ий прохід 3-ій прохід Для сортування масиву з N елементів потрібен N-1 прохід (достатньо поставить на свої місця N-1 елемент).
Метод обміну (“бульбашки”) Program Bubble; {Сортування за зростанням}Const N=20; Var Mas:array[1..N] of integer; i,j:integer; {i,j - змінні циклу} Rez:integer; {Rez - додаткова змінна для обміну елементів масиву між собою}BeginFor i:=1 to N doFor j:=1 to N-1 doIf Mas[j]>Mas[j+1] thenBegin{Обмін елементів масиву через третю змінну} Rez:=Mas[j]; Mas[j]:=Mas[j+1]; Mas[j+1]:=Rez; End; End.
Домашнє завдання: • Опрацювати сторінки 255-267 • Підготуватися до тестової перевірки (розглянути та розібрати приклади ) Дякую за роботу на уроці! До нових зустрічей!!!