05 Швидке сортування

17
Розробка та аналіз алгоритмів (с) Олексій Молчановський, Prometheus.org.ua 1 5. Швидке сортування Алгоритм швидкого сортування Ефективність алгоритму Випадкове швидке сортування Аналіз алгоритму

Transcript of 05 Швидке сортування

Page 1: 05 Швидке сортування

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

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

5. Швидке сортування

• Алгоритм швидкого сортування

• Ефективність алгоритму

• Випадкове швидке сортування

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

Page 2: 05 Швидке сортування

Властивості швидкого сортування

• Час роботи варіюється• В найгіршому випадку: (n2)

• В середньому випадку: (n lgn)

• Не потребує додаткової пам’яті для сортування

• Елегантна структура алгоритму

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

Page 3: 05 Швидке сортування

Метод декомпозиції для алгоритму

• Розділення

• Рекурсивний розв’язок

• Комбінування

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

Page 4: 05 Швидке сортування

Алгоритм швидкого сортування

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

Page 5: 05 Швидке сортування

Приклад процедури розбиття

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

Page 6: 05 Швидке сортування

Приклад процедури розбиття

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

Page 7: 05 Швидке сортування

Процедура розбиття

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

Page 8: 05 Швидке сортування

Коректність процедури розбиття

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

Page 9: 05 Швидке сортування

Коректність алгоритму

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

Page 10: 05 Швидке сортування

Ефективність алгоритму. Найгірший випадок

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

Page 11: 05 Швидке сортування

Ефективність алгоритму. Найкращий випадок

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

Page 12: 05 Швидке сортування

Ефективність алгоритму. Розбалансований випадок

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

Page 13: 05 Швидке сортування

Випадкове швидке сортування

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

Page 14: 05 Швидке сортування

Аналіз випадкової версії алгоритму

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

Page 15: 05 Швидке сортування

Аналіз випадкової версії алгоритму

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

Page 16: 05 Швидке сортування

Аналіз випадкової версії алгоритму

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

Page 17: 05 Швидке сортування

Аналіз випадкової версії алгоритму

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