02 Сортування включенням

13
Розробка та аналіз алгоритмів 2. Сортування включенням Метод сортування включенням RAM Аналіз алгоритму Асимптотичні позначення (с) Олексій Молчановський, Prometheus.org.ua 1

Upload: oleksii-molchanovskyi

Post on 02-Aug-2015

8.556 views

Category:

Education


3 download

TRANSCRIPT

Page 1: 02 Сортування включенням

Розробка та аналіз алгоритмів

2. Сортування включенням

• Метод сортування включенням

• RAM

• Аналіз алгоритму

• Асимптотичні позначення

(с) Олексій Молчановський, Prometheus.org.ua 1

Page 2: 02 Сортування включенням

Сортування включенням

(с) Олексій Молчановський, Prometheus.org.ua 2

Page 3: 02 Сортування включенням

Алгоритм сортування включенням

(с) Олексій Молчановський, Prometheus.org.ua 3

Page 4: 02 Сортування включенням

Сортування включенням

(с) Олексій Молчановський, Prometheus.org.ua 4

Page 5: 02 Сортування включенням

Машина з довільним доступом до пам’яті (Random Access Machine, RAM)• RAM – модель узагальненої однопроцесорної машини з довільним доступом

до пам’яті

• В цій моделі команди процесору виконуються послідовно; операції, які виконуються одночасно, відсутні

• Модель містить типові команди процесору: арифметичні операції, операції переміщення даних, керуючі операції

• Для виконання кожної інструкції потрібен фіксований проміжок часу

• Модель має цілочисловий тип даних та тип чисел з плаваючою точкою

(с) Олексій Молчановський, Prometheus.org.ua 5

Page 6: 02 Сортування включенням

Аналіз алгоритму сортування включенням

• Час роботи алгоритму для того або іншого входу вимірюється в кількості елементарних операцій, або «кроків», які необхідно виконати

(с) Олексій Молчановський, Prometheus.org.ua 6

Page 7: 02 Сортування включенням

Аналіз алгоритму сортування включенням

INSERTION_SORT(A)

1. FOR j = 2 TO n:

2. key = A[j]

3. i = j – 1

4. WHILE i>0 and A[i]>key:

5. A[i+1] = A[i]

6. i = i – 1

7. A[i+1] = key

(с) Олексій Молчановський, Prometheus.org.ua 7

Page 8: 02 Сортування включенням

Аналіз алгоритму сортування включенням

• Найкращий випадок

(с) Олексій Молчановський, Prometheus.org.ua 8

Page 9: 02 Сортування включенням

Аналіз алгоритму сортування включенням

• Найгірший випадок

(с) Олексій Молчановський, Prometheus.org.ua 9

Page 10: 02 Сортування включенням

Аналіз алгоритму сортування включенням

• Найкращий випадок:

• Найгірший випадок:

(с) Олексій Молчановський, Prometheus.org.ua 10

Page 11: 02 Сортування включенням

Порядок зростання

• В аналізі алгоритмів зазвичай досліджують час роботи алгоритму тільки у найгіршому випадку – максимальний час роботи серед усіх вхідних даних розміром n• Час роботи алгоритму в найгіршому випадку – це верхня межа для будь-

яких вхідних даних

• В деяких задачах найгірший випадок зустрічається досить часто (наприклад, пошук в базі даних елементу, якого там не існує)

(с) Олексій Молчановський, Prometheus.org.ua 11

Page 12: 02 Сортування включенням

Асимптотичні позначення

(с) Олексій Молчановський, Prometheus.org.ua 12

Page 13: 02 Сортування включенням

Асимптотичні позначення

(с) Олексій Молчановський, Prometheus.org.ua 13