Випадкове сортування
Випадкове сортування (англ. Bogosort)[1][2] — неефективний на практиці гумористичний алгоритм сортування. Наочно використовується для впорядкування колоди карт таким чином: колода підкидається у повітря, карти збираються у довільному порядку і перевіряється, чи є колода впорядкованою. Якщо колода невпорядкована, то операцію повторюють.
Алгоритм має й інші назви: сортування бозо (англ. bozo sort), дурне сортування (англ. stupid sort), мавпяче сортування (англ. monkey sort), випадкове сортування (англ. random sort), сортування п'яниці (англ. drunk man sort).
Випадкове сортування не є стабільним.
Псевдокод
ред.1 while not 2 do
Функція повертає значення істина, якщо масив впорядкований, а функція повертає випадкову перестановку елементів масиву.
Час роботи
ред.Одна ітерація алгоритму потребує часу — найкращий можливий час роботи. В середньому алгоритм буде працювати: (в припущенні, що всі елементи масиву різні). Також час роботи алгоритму залежить від того скільки різних елементів присутні в масиві, і як часто кожен з них зустрічається. За лемою Бореля — Кантеллі, алгоритм завжди знайде правильне впорядкування (можливо за дуже велику кількість кроків).
Проте, слід зауважити, що в комп'ютерах використовуються не справжні випадкові числа а їх аналоги (псевдовипадкові числа). Тому комп'ютерна реалізація випадкового сортування може ніколи не завершити роботу.
Примітки
ред.- ↑ Gruber, H.; Holzer, M.; Ruepp, O., Sorting the slow way: an analysis of perversely awful randomized sorting algorithms, 4th International Conference on Fun with Algorithms, Castiglioncello, Italy, 2007 (PDF), Lecture Notes in Computer Science, т. 4475, Springer-Verlag, с. 183—197, doi:10.1007/978-3-540-72914-3_17.
- ↑ Kiselyov, Oleg; Shan, Chung-chieh; Friedman, Daniel P.; Sabry, Amr (2005), Backtracking, interleaving, and terminating monad transformers: (functional pearl), Proceedings of the Tenth ACM SIGPLAN International Conference on Functional Programming (ICFP '05) (PDF), SIGPLAN Notices, с. 192—203, doi:10.1145/1086365.1086390, S2CID 1435535, архів оригіналу (PDF) за 26 березня 2012, процитовано 22 червня 2011
Посилання
ред.- Реалізація випадкового сортування на мові C#. [Архівовано 13 квітня 2019 у Wayback Machine.]
Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |
Це незавершена стаття про гумор, комедію або сатиру. Ви можете допомогти проєкту, виправивши або дописавши її. |
Ця стаття не містить посилань на джерела. (лютий 2016) |