Professional Documents
Culture Documents
Lecture1 ukr-перетворено
Lecture1 ukr-перетворено
Лекція 1
Вступ. Поняття алгоритму.
Прості методи сортування.
Аналіз алгоритмів.
Властивості алгоритмів
⚫ скінченність: алгоритм є скінченним об'єктом, що є
необхідною умовою його механічної реалізованості,
алгоритм має завжди завершуватись після
виконання скінченної кількості кроків;
⚫ масовість: початкові дані для алгоритму можна
вибирати із певної (можливо, нескінченної)
множини даних; це означає, що алгоритм
призначений не для однієї конкретної задачі, а для
класу однотипних задач;
⚫ дискретність: розчленованість процесу виконання
алгоритму на окремі кроки; це означає, що
алгоритмічний процес здійснюється в дискретному
часі;
Поняття алгоритму
Властивості алгоритмів
⚫ елементарність: кожен крок алгоритму має бути
простим, елементарним, можливість виконання
якого людиною або машиною не викликає сумнівів;
⚫ детермінованість: однозначність процесу
виконання алгоритму; це означає, що при заданих
початкових даних кожне дане, отримане на
певному (не початковому) кроці, однозначно
визначається даними, отриманими на попередніх
кроках;
⚫ результативність: алгоритм має засоби, які
дозволяють відбирати із даних, отриманих на
певному кроці виконання, результативні дані, після
чого алгоритм зупиниться.
Сортування вставками
Insertion sort
4 i ← j -1 с4 n-1
T ( n ) = c1n+c2 ( n − 1) +c4 (n − 1) +c5 (n − 1) +c8 (n − 1) = (c1 +c2 +c4 +c5 +c8 ) n − (c2 +c4 +c5 +c8 )
n ( n +1) n ( n − 1) n ( n − 1)
T ( n ) = c1n + c2 ( n − 1) + c4 ( n − 1) + c5 − 1 + c6 + c7 +
2 2 2
c c c c c c
+c8 ( n − 1) = 5 + 6 + 7 n 2 + c1 + c2 + c4 + 5 − 6 − 7 + c8 n − ( c2 + c4 + c5 + c8 )
2 2 2 2 2 2
T(n) = Θ(n²)
T(n) = Θ(n²)
Початковий масив 44 55 12 42 94 18 06 67
06 55 12 42 94 18 44 67
06 12 55 42 94 18 44 67
06 12 18 42 94 55 44 67
06 12 18 42 94 55 44 67
06 12 18 42 44 55 94 67
06 12 18 42 44 55 94 67
06 12 18 42 44 55 67 94
Метод бульбашкового сортування
51428