05 Швидке сортування
TRANSCRIPT
Розробка та аналіз алгоритмів
(с) Олексій Молчановський, Prometheus.org.ua 1
5. Швидке сортування
• Алгоритм швидкого сортування
• Ефективність алгоритму
• Випадкове швидке сортування
• Аналіз алгоритму
Властивості швидкого сортування
• Час роботи варіюється• В найгіршому випадку: (n2)
• В середньому випадку: (n lgn)
• Не потребує додаткової пам’яті для сортування
• Елегантна структура алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 2
Метод декомпозиції для алгоритму
• Розділення
• Рекурсивний розв’язок
• Комбінування
(с) Олексій Молчановський, Prometheus.org.ua 3
Алгоритм швидкого сортування
(с) Олексій Молчановський, Prometheus.org.ua 4
Приклад процедури розбиття
(с) Олексій Молчановський, Prometheus.org.ua 5
Приклад процедури розбиття
(с) Олексій Молчановський, Prometheus.org.ua 6
Процедура розбиття
(с) Олексій Молчановський, Prometheus.org.ua 7
Коректність процедури розбиття
(с) Олексій Молчановський, Prometheus.org.ua 8
Коректність алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 9
Ефективність алгоритму. Найгірший випадок
(с) Олексій Молчановський, Prometheus.org.ua 10
Ефективність алгоритму. Найкращий випадок
(с) Олексій Молчановський, Prometheus.org.ua 11
Ефективність алгоритму. Розбалансований випадок
(с) Олексій Молчановський, Prometheus.org.ua 12
Випадкове швидке сортування
(с) Олексій Молчановський, Prometheus.org.ua 13
Аналіз випадкової версії алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 14
Аналіз випадкової версії алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 15
Аналіз випадкової версії алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 16
Аналіз випадкової версії алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 17