05 Швидке сортування
-
Upload
oleksii-molchanovskyi -
Category
Education
-
view
3.685 -
download
0
Transcript of 05 Швидке сортування
![Page 1: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/1.jpg)
Розробка та аналіз алгоритмів
(с) Олексій Молчановський, Prometheus.org.ua 1
5. Швидке сортування
• Алгоритм швидкого сортування
• Ефективність алгоритму
• Випадкове швидке сортування
• Аналіз алгоритму
![Page 2: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/2.jpg)
Властивості швидкого сортування
• Час роботи варіюється• В найгіршому випадку: (n2)
• В середньому випадку: (n lgn)
• Не потребує додаткової пам’яті для сортування
• Елегантна структура алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 2
![Page 3: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/3.jpg)
Метод декомпозиції для алгоритму
• Розділення
• Рекурсивний розв’язок
• Комбінування
(с) Олексій Молчановський, Prometheus.org.ua 3
![Page 4: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/4.jpg)
Алгоритм швидкого сортування
(с) Олексій Молчановський, Prometheus.org.ua 4
![Page 5: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/5.jpg)
Приклад процедури розбиття
(с) Олексій Молчановський, Prometheus.org.ua 5
![Page 6: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/6.jpg)
Приклад процедури розбиття
(с) Олексій Молчановський, Prometheus.org.ua 6
![Page 7: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/7.jpg)
Процедура розбиття
(с) Олексій Молчановський, Prometheus.org.ua 7
![Page 8: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/8.jpg)
Коректність процедури розбиття
(с) Олексій Молчановський, Prometheus.org.ua 8
![Page 9: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/9.jpg)
Коректність алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 9
![Page 10: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/10.jpg)
Ефективність алгоритму. Найгірший випадок
(с) Олексій Молчановський, Prometheus.org.ua 10
![Page 11: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/11.jpg)
Ефективність алгоритму. Найкращий випадок
(с) Олексій Молчановський, Prometheus.org.ua 11
![Page 12: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/12.jpg)
Ефективність алгоритму. Розбалансований випадок
(с) Олексій Молчановський, Prometheus.org.ua 12
![Page 13: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/13.jpg)
Випадкове швидке сортування
(с) Олексій Молчановський, Prometheus.org.ua 13
![Page 14: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/14.jpg)
Аналіз випадкової версії алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 14
![Page 15: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/15.jpg)
Аналіз випадкової версії алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 15
![Page 16: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/16.jpg)
Аналіз випадкової версії алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 16
![Page 17: 05 Швидке сортування](https://reader034.fdocument.pub/reader034/viewer/2022052602/55c6f599bb61ebac4f8b48a3/html5/thumbnails/17.jpg)
Аналіз випадкової версії алгоритму
(с) Олексій Молчановський, Prometheus.org.ua 17